Консультация № 144357
19.09.2008, 08:50
0.00 руб.
0 2 1
Здравствуйте
Мучаюсь с mysql
В таблице есть поле типа DATE,где хранится дата создания записи
Нужно выбрать все записи,например, за последние 2 года
Подскажите соответствующий sql-запрос
Спасибо

Обсуждение

Неизвестный
19.09.2008, 09:22
общий
это ответ
Здравствуйте, Sov!

Формат поля Date таков: YYYY-MM-DD. Можно писать его строкой (например '2008-09-19') или числом (20080919).

Выбрать все строки таблицы за 2 года (назовем поле `datefield`):

SELECT * FROM mytable WHERE `datefield` => 20060919

Более гибкие альтернативы:
SELECT * FROM mytable WHERE `datefield` => CURDATE() - 20000
SELECT * FROM mytable WHERE `datefield` => CURDATE() - INTERVAL 2 YEAR
SELECT * FROM mytable WHERE `datefield` => date_sub(CURDATE(), INTERVAL 2 YEAR)
Неизвестный
19.09.2008, 09:23
общий
В общем, удобнее всего использовать конструкции с INTERVAL, т.к. они читаются легко.
Форма ответа