Unix время до даты в Mysql - PullRequest
1 голос
/ 29 июля 2011

у меня есть столбец visit_time, и поля в этом столбце являются целыми числами (время Unix).

Я пытаюсь сделать что-то вроде этого: SELECT * FROM visits WHERE DATE(visit_time) = CURDATE(), но это не работает ...

Как заставить этот код работать?

Ответы [ 5 ]

9 голосов
/ 29 июля 2011
SELECT * FROM visits WHERE FROM_UNIXTIME(visit_time, '%Y-%m-%d') = CURDATE()
4 голосов
/ 29 июля 2011

В качестве альтернативы другим решениям, представленным здесь, вы можете определить текущее время Unix в MySQL. Это может быть быстрее для больших наборов данных:

SELECT * FROM visits WHERE visit_time = UNIX_TIMESTAMP(NOW())
3 голосов
/ 29 июля 2011
SELECT * FROM `visits` WHERE DATE(FROM_UNIXTIME(`visit_time`)) = CURDATE()

См. FROM_UNIXTIME () , CURDATE () и DATE ()

2 голосов
/ 29 июля 2011
SELECT * FROM visits WHERE DATE(FROM_UNIXTIME(visit_time)) = CURDATE()

MySQL Manual :: Функции даты и времени

1 голос
/ 29 июля 2011

Вам нужно использовать FROM_UNIXTIME для этого:

SELECT * FROM visits WHERE DATE(FROM_UNIXTIME(visit_time)) = CURDATE()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...