у меня есть столбец visit_time, и поля в этом столбце являются целыми числами (время Unix).
visit_time
Я пытаюсь сделать что-то вроде этого: SELECT * FROM visits WHERE DATE(visit_time) = CURDATE(), но это не работает ...
SELECT * FROM visits WHERE DATE(visit_time) = CURDATE()
Как заставить этот код работать?
SELECT * FROM visits WHERE FROM_UNIXTIME(visit_time, '%Y-%m-%d') = CURDATE()
В качестве альтернативы другим решениям, представленным здесь, вы можете определить текущее время Unix в MySQL. Это может быть быстрее для больших наборов данных:
SELECT * FROM visits WHERE visit_time = UNIX_TIMESTAMP(NOW())
SELECT * FROM `visits` WHERE DATE(FROM_UNIXTIME(`visit_time`)) = CURDATE()
См. FROM_UNIXTIME () , CURDATE () и DATE ()
SELECT * FROM visits WHERE DATE(FROM_UNIXTIME(visit_time)) = CURDATE()
MySQL Manual :: Функции даты и времени
Вам нужно использовать FROM_UNIXTIME для этого: