Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.11.26;
Скачать: CL | DM;

Вниз

работа в SQL запросах с DATETIME полями как с EXTENDED   Найти похожие ветки 

 
Shaman_ ©   (2006-09-26 21:12) [0]

Примерная задача:
Есть таблица с полем DATE_CTEATE (DATETIME)
необходимо сделать выборку записей, DATE_CREATE которых на 100 часов меньше текущего времени. Если бы MySQL работал с DATETIME полями как с родным форматом- EXTENDED, все было бы просто SELECT * FROM TABLE_NAME WHERE DATE_CREATE > (NOW()-100*(1/24)) но поскольку она пытается преобразовать числа методом похожим на DateTimeToStr, просто так от даты не отнять нужный интервал времени. С помощью CAST привести DATETIME к EXTENDED тоже не вышло. После CAST получаем примерно следующее число - 20060926212000 ну тоесть дата в строковом формате, с удалением разделителей и преобразованная к простому числу

Может есть какие функции для арифметических операций с DATETIME типом?


 
Johnmen ©   (2006-09-26 21:52) [1]

А так
WHERE DATE_CREATE + 100*(1/24)> NOW()
?


 
Desdechado ©   (2006-09-26 21:55) [2]

для начала попробуй
select NOW()-100*(1/24) from table where id=1


 
Johnmen ©   (2006-09-26 22:10) [3]

Кстати http://www.mysql.ru/docs/man/Date_and_time_functions.html


 
Shaman_ ©   (2006-09-26 22:30) [4]

>Johnmen ©   (26.09.06 21:52) [1]
>А так
>WHERE DATE_CREATE + 100*(1/24)> NOW()
>?

>Desdechado ©   (26.09.06 21:55) [2]
>для начала попробуй
>select NOW()-100*(1/24) from table where id=1

Спасибо за советы, но в этом направлении копать бесполезно. Уже все перепробовал. В том и дело, что подобные запросы работают не верно
Допустим если выполнить такой запрос:

SELECT NOW()+100*(1/24),NOW()

получим: 20060926221722,2 | 26.09.2006 22:17:18

Надеюсь смысл понятен? :) СУБД не воспринимает дату как EXTENDED, следовательно и арифметические операции как с EXTENDED здесь просто так не пройдут


 
Shaman_ ©   (2006-09-26 22:32) [5]

Johnmen ©   (26.09.06 22:10) [3]
Вот именно это я искал! Спасибо за помощь!



Страницы: 1 вся ветка

Текущий архив: 2006.11.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.038 c
15-1162570220
{---}
2006-11-03 19:10
2006.11.26
Популярный софт на delphi.


2-1162885275
EkZot
2006-11-07 10:41
2006.11.26
Чем заменить пробел в командной строке.


15-1162541609
ХОТТАБЫЧ
2006-11-03 11:13
2006.11.26
ГДЕ СКАЧАТЬ?


2-1162978186
Megabyte
2006-11-08 12:29
2006.11.26
Как программно задавать/изменять системные переменные...


11-1139554513
sff
2006-02-10 09:55
2006.11.26
VCL2MCK