Сравнение дат

Magnat

Guest
Сравнение дат

Нужно сравнить даты в таком формате: YYYY-MM-DD HH:MM:SS
Т.е. есть дата сегднешняя... и надо выбрать все записи, в которых дата в такомже формате (Нужно сравнить даты в таком формате: YYYY-MM-DD HH:MM:SS) больше чем сегоднешня...

По форуму лазил, так ничгео пцутнего не нащёл... Хотелось бы одним запросиком взять всё...

Можно циклами, но получается не красиво... Надо дату каждый раз разбивать.... или же переводить в TIMESTAMP и сравнивать... а также если табличка реально большая, тогда долговато будет :))

Вот пробывал так поиздеваться:
SELECT * FROM subscriptions WHERE TO_DAYS(NOW()) - TO_DAYS(date_end) >= 30;

Но ничего не получается. т.к. эта фигня тупо сравнивает дни как числа... и не вычесляет если переход месяцев.... :((
 

Magnat

Guest
Re: Re: Сравнение дат

Ну спасиб... Я уже и там просмотрел всё.. и в мануале на локолке есть такое...

Давай только не будем никуда посылать.. Я и сам знаю, где что лежит :)))

Если ты найдёшь что нить там путнее для данной задачи. с меня язик пива :))))

Там все функции тупо делаят дату и сравнивают как целые числа. А мне нужно.. Верней нужно было...... Сравинть даты.. т.е. что бы мускул при сравнеии вычислил разность дат. учитывая переход на другой месяц...

Т.е. сегодня 29 например число.. а мне нужно выбрать все записи. у которых дата 24 прошлого месяца... :))) Вот и стопоримся с этими функциями..


Уже не надо.. TIMESTAMP всё решил :))
 

chira

Новичок
а вдруг понадобиться:
если тип поля datetime и имеет формат YYYY-MM-DD HH:MM:SS
....
WHERE date_end > DATE_SUB(NOW(), interval 30 DAY)
 

Magnat

Guest
Originally posted by chira
а вдруг понадобиться:
если тип поля datetime и имеет формат YYYY-MM-DD HH:MM:SS
....
WHERE date_end > DATE_SUB(NOW(), interval 30 DAY)
А если больше тридцати дней?? DATE_SUB вычисляет нормально дату?? Или тоже просто разбивает и как числа сравнивает??

Если например 40 или 50 дней...
 

chira

Новичок
для тебя никто ничего специально разбивать не будет, можешь проверить: взять для февраля и января ...
 

Magnat

Guest
Originally posted by chira
для тебя никто ничего специально разбивать не будет, можешь проверить: взять для февраля и января ...
:)) ок.. проверим

Сасибо за помошь Народ!
 
Сверху