我有一个名为user_log
的mysql表,它包含以下内容:
userid created_at
1 1388514600
2 1391193000
我想用确切的日期来记录。例如,我有created_at
,它是2013-12-31
SELECT * FROM user_log WHERE created_at = UNIX_TIMESTAMP('2013-31-12');
但记录没有被选中,我不知道查询中出现了什么问题。那么,如何使用date从mysql中的unix时间戳列中获取记录呢?
要知道日期格式的确切值,可以执行以下操作:
SELECT FROM_UNIXTIME(created_at) FROM user_log;
也就是说,值1388514600
不仅是2013-12-31
,而且实际上是2013-12-31 18:30:00
;
因此,要仅按日期搜索,您可以尝试以下操作:
SELECT FROM_UNIXTIME(created_at) AS dt
FROM user_log
HAVING date(dt)='2013-12-31';
在这里摆弄