2015-07-28 2 views
1

У меня есть столбец timestamp в db, который генерируется php и сохраняется как varchar (max).сравнить timestamp с CURRENT_TIMESTAMP в sql-сервере

id sched_timestamp data 
-- --------------- ---- 
1 1436882400  foo 
2 1438092000  bar 
3 1438005600  xxx 
... 

Что я хочу сделать, это получить все строки в прошлом (метка времени раньше, чем current_timestamp).

Проблема заключается в том, что сервер sql не имеет собственного способа получения текущей метки времени, он дает мне форматированную дату, похожую на 2015-07-28 14:19:36.893.

Я хочу сделать это в sql не в php, так как эта таблица содержит более 100 тыс. Строк данных, и мне нужно только ~ 10 из них.

Любые предложения?

Заранее спасибо

+1

Тип метки времени не представляет время суток. – shawnt00

+0

@ shawnt00 не в типе времени, он находится в варчаре. Эта временная метка относится к php-функции 'time();' и затем сохраняется в db –

+0

Мы знаем ее timestamp.but все же вы не можете сравнить ее с временем дня. Вам также нужен компонент дня. –

ответ

1

Исполнительного этот запрос должно это исправить

SELECT DATEDIFF(str,'19700101 05:00:00:000',GETUTCDATE()) 
+0

Прохладный, спасибо вам. –

Смежные вопросы