Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.035 c
2-1163108020
koha
2006-11-10 00:33
2006.11.26
Как программно создать ярлык другой программы?


15-1162731090
Palladin
2006-11-05 15:51
2006.11.26
Аналог Орешника


3-1159182615
emik
2006-09-25 15:10
2006.11.26
Client/Server


2-1162827781
EkZot
2006-11-06 18:43
2006.11.26
Запустить программу с ключем


2-1163061965
Greenchel
2006-11-09 11:46
2006.11.26
Лимит строк в RichEdit




   Наверх