Сравнение значений даты CURDATE () с полем отметки времени - PullRequest
3 голосов
/ 29 декабря 2011

У меня есть функция, которая помещает значения меток времени (ГГГГ-ММ-ДД ЧЧ: ММ: СС) в META_VALUE столбец таблицы META.

То, что я хочу сделать, это сравнить, равна ли часть даты (ГГГГ-ММ-ДД) META_VALUE сегодняшнему дню (CURDATE ()), без учета часов, минут и секунд (ЧЧ: ММ: СС ).

Как мне это сделать?

Ответы [ 2 ]

6 голосов
/ 29 декабря 2011
SELECT * FROM table WHERE <timestamp-field> BETWEEN 'YYYY-MM-DD 00:00:00' AND 'YYYY-MM-DD 23:59:59'

Всегда избегайте вычислений на поле, если это возможно: например,

SELECT * FROM table WHERE DATE(<timestamp-field>) = 'YYYY-MM-DD'

вычислит DATE () для ВСЕХ строк в этой таблице, так что вы действительно говорите потраченные впустую циклы

1 голос
/ 29 декабря 2011

Просто используйте DATE:

SELECT * FROM table WHERE DATE(timestamp) = '2011-12-29'
...