freed-master
13.06.2009 - 11:43
Есть таблица:
SQL |
CREATE TABLE `session` ( `id_session` varchar(32) NOT NULL, `putdate` datetime NOT NULL default '0000-00-00 00:00:00', UNIQUE KEY `id_session` (`id_session`) ) ENGINE=MyISAM DEFAULT CHARSET=cp1251; |
Есть запрос:
SQL |
SELECT * FROM `session` WHERE putdate < NOW() - INTERVAL '10' MINUTE |
Все работает замечательно. А как сделать так чтоб выводились записи не 10-минутной давности, а за прошлый месяц, например. Пробовал делать по анологии:
SQL |
SELECT * FROM `session` WHERE putdate < NOW() - INTERVAL '1' MONTH |
Но увы... может надо использовать не NOW() или в скобках что-то написать? Подскажите пожалуйста!
Спустя 41 минута, 57 секунд (13.06.2009 - 11:25) twin написал(а):
Ну это же интервал, там же так и написано: INTERVAL. То есть нужно его задать. Если отсчет идет от NOW(), то есть от "сейчас", то и будет интервал "от месяц раньше до сейчас". Нужно задать требуемый.
SQL |
SELECT * FROM `session` WHERE putdate < NOW() - INTERVAL '2' MONTH AND putdate > NOW() - INTERVAL '1' MONTH |
Как то так... Я сам в них путаюсь
Спустя 3 часа, 42 минуты, 8 секунд (13.06.2009 - 15:07) freed-master написал(а):
Тоже не то... какие у гого еще варианты будут?
Спустя 8 минут, 54 секунды (13.06.2009 - 15:16) FatCat написал(а):
А зачем вообще дату хранить в таком формате? Нужны даты до 1970-го?
ИМХО, логичней в БД хранить time(), а все вычисления дат для отображения производить средствами пхп...
Спустя 36 минут, 58 секунд (13.06.2009 - 15:53) freed-master написал(а):
Очень извените, запрос верный, проблема была в выводе...
_____________
Всем, кто заинтересован, могу помочь начать
зарабатывать на forex.
Пишите в личку или на e-mail:
flash-dirt@yandex.ru