MySQL - ВЫБИРАЕТ ГДЕ дата <X

Как я делаю это в MySQL?

 SELECT * FROM MyTable WHERE MyDateCol < TODAY()

Я погуглил много на предмете и действительно не нашел, что что-либо кроме "смотрит на дате MySQL касательно", который не объясняет вышеупомянутое достаточно легко.

Я знаю, что могу сделать следующее, которое является довольно косвенным:

SELECT * FROM MyTable WHERE MyDateCol BETWEEN (0000-00-00) AND TODAY()
5
задан Robinicks 25 January 2010 в 12:01
поделиться

4 ответа

В MySQL у вас есть Curdate () Curdate () Funciton, который принесет вам дату сегодня.

Итак, что-то вроде этого следует сделать:

select *
from your_table
where your_date_column < curdate()


цитируют страницу руководства этой функции:

возвращает текущую дату в качестве значения в «ГГГГ-ММ-ДД» или формат Yyyymmdd , в зависимости от того, является ли функция используется в строке или числовом контексте.


И если вы хотите сравнить с текущим временем (и не только день) , вы можете использовать функцию сейчас () :

возвращает текущую дату и время как Значение в «ГГГГ-ММ-ДД HH: MM: SS» или Yyyymmddhhmmmss.uuuuuuu Формат

4
ответ дан 14 December 2019 в 01:08
поделиться

Если MySQL поддерживает SYSDATE, следует использовать его вместо NOW () или CURDATE (), поскольку он является более стандартным.

SELECT * FROM MyTable WHERE MyDateCol < SYSDATE;
2
ответ дан 14 December 2019 в 01:08
поделиться
SELECT * FROM MyTable WHERE MyDateCol < CURDATE()
можно использовать фильтр .
2
ответ дан 14 December 2019 в 01:08
поделиться

Используйте NOW() функцию:

SELECT * FROM MyTable WHERE MyDateCol < NOW()
1
ответ дан 14 December 2019 в 01:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: