пятница, 14 декабря 2012 г.

DQL: сравнение дат

Задача:

В некотором атрибуте хранится дата. Необходимо осуществить поиск по этому атрибуту,  но с точностью до даты, т.е. время в поиске участвовать не должно.

Решение:

Использовать функцию DATEFLOOR, например:
SELECT * FROM xxx WHERE DATEFLOOR(day,my_date_attr) = DATEFLOOR(day,DATE('12-12-2012'))
Нужно учитывать, что DATEFLOOR осуществляет округление до времени 00:00:00 по GMT, т.е. если текущий часовой пояс GMT+4, то DATEFLOOR(day,DATE('12-12-2012')) вернет не '12-12-2012 00:00:00', а '12-12-2012 04:00:00'. 

Комментариев нет:

Отправить комментарий