Forum Webscript.Ru
Общие => Базы данных => Тема начата: Jeff от 29 Ноября 2002, 14:12:10
-
Privet vsem!
Izvinaus, chto pishu na latinnitse, no ia seichas
sizhu na rabote, a tuta russkoi klavi netu. :(
Vot takoi vopros u menya:
est u menya nekii stolbets v baze, soderzhashii
datu v formate timestamp, nado uznat, proshlo
li s etogo momenta vremeni (zapisannogo v stoltse)
15 sekund.
T.e. eto dolzhno viglyadet primerno tak:
...(Last_time+15sek)
Vot tolko kak imenno eto zapisat, ia ne znau :(
Mozhet kto pomozhet?
-
select * from my_table where timestamp_field
-
> select * from my_table where timestamp_field
это неправильно.
ему надо использовать функции для работы с датами, типа DATE_ADD(), DATE_SUB() ...
-
это неправильно.
Сорри, попутал. Думал, данные в формате UNIXTIMESTAMP
-
Только вот проблема в том, что
DATE_ADD и DATE_SUB отбрасывают
временную часть значения, т.е.
с их помощью можно было бы
вычислить прошло ли 15 дней
с той даты, а выт секунды не покатят
Что делать то?
-
Jeff
Да просто все.
select * from my_table where unix_timestamp(timestamp_field)
-
> а выт секунды не покатят
а в мануал заглянуть? и посмотреть что там можно задавать интервал в секундах?
date_sub(now(), interval 15 second)
вариант, который предложил Maniac, тоже подходит, но там MySQL будет сканировать всю таблицу, хотя индексы будут использоваться, т.е. в плане оптимизации он хуже.