Главная страница
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.049 c
6-1152000505
Ildar
2006-07-04 12:08
2006.11.26
NetShareAdd используя 502 структуру


2-1162811723
Khabibulin
2006-11-06 14:15
2006.11.26
Нарисовать треугольник в Pascal е


2-1162817469
TIF
2006-11-06 15:51
2006.11.26
Прям как в Microsoft Excel...


15-1163080893
Германн
2006-11-09 17:01
2006.11.26
Sysinternals


2-1162719516
Max_2006
2006-11-05 12:38
2006.11.26
Работа с PChar средствами Windows (API)