如何搜索 MySQL 中包含 unix 时间戳的列?

How can I search a column in MySQL containing unix timestamps?

我有一个名为 user_log 的 mysql table,其中包含如下内容:

userid  created_at

1       1388514600 
2       1391193000

我想获取使用确切日期的记录。例如我有 created_at2013-12-31

SELECT * FROM user_log WHERE created_at = UNIX_TIMESTAMP('2013-31-12');

但是没有选择记录,我不知道那个查询有什么问题。那么如何使用日期从 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';

Fiddle here