MySQL функция сравнения дат - PullRequest
       4

MySQL функция сравнения дат

2 голосов
/ 26 августа 2010

В моей таблице даты хранятся в формате "2010-08-26 09:00:00", поэтому гггг-мм-дд. Я хотел бы выбрать все поля с полем даты "сегодня", поэтому между 2010-08-26 00:00:01 и 2010-08-26 23:59:59.

Не работает только использование больших и меньших операторов, есть ли в MySQL некоторые встроенные функции сравнения дат, которые могут это сделать?

РЕДАКТИРОВАТЬ: я должен был упомянуть даты хранятся как datetime поля

Ответы [ 5 ]

7 голосов
/ 26 августа 2010
... WHERE DATE(field)=CURDATE()

или

... WHERE DATE(field)=CURRENT_DATE

или

... WHERE DATE(field)=CURRENT_DATE()

Выберите один!

2 голосов
/ 26 августа 2010

Я бы предложил [...] WHERE DATEDIFF(CURDATE(),date_field) = 0 [...]

1 голос
/ 26 августа 2010

Просто рекомендация на будущее: хранить дату в столбце varchar почти всегда очень плохая идея.

1 голос
/ 26 августа 2010
0 голосов
/ 26 августа 2010

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

DATE(2010-08-26 12:13:24)

вернет вам только раздел даты, т.е.2010-08-26.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...