2016-06-07 3 views
-1

У меня есть этот код, но он дает мне неправильный ответ:Как получить все дни недели (начинается с понедельника) до сегодняшнего дня (сегодня)?

SELECT * from TABLE 
WHERE endDate >= DATE_SUB(CURDATE(), INTERVAL 6 DAY) AND endDate <= CURDATE(); 

скажем, неделя начинается с понедельника, а сегодня среда, я хотел бы перечислить столбцы с endDate сегодня до последнего понедельника (понедельник , Вторник и среда).

Но приведенный выше запрос дает в субботу до понедельника или в

WHERE endDate >= DATE_SUB(CURDATE(), INTERVAL 6 DAY) AND endDate >= CURDATE(); 

дает вторник до конца недели, но я хочу в понедельник (первый день недели) до среды (сегодня)

+1

Этот вопрос не имеет ровно никакого отношения к Java, и точно все, что связано с SQL. Добавьте тег SQL и удалите теги Java. – CptBartender

ответ

-1

Пожалуйста, взгляните на прилагаемое изображение, надеюсь, это поможет.

This returns dates from the Monday till the current day

+0

Спасибо за сообщение :), Это помогло мне, я использовал его и выяснил этот запрос, дайте мне правильный ответ. SELECT ColumnName FROM TableName WHERE ColumnName> = ADDDATE (CURDATE(), INTERVAL 2-DAYOFWEEK (CURDATE()) DAY) AND ColumnName <= CURDATE() –

0

Вот как это работает для меня.

ВЫБОР ColumnName ОТ TableName ГДЕ ColumnName> = ADDDATE (CURDATE(), ИНТЕРВАЛ 2-DAYOFWEEK (CURDATE()) ДЕНЬ) И ColumnName < = CURDATE()

Смежные вопросы