MySQL DATE返回NULL

mad*_*end 2 mysql date

我有以下表结构:

uid     | ... | created | ...
int(10) | ... | int(10) | ...
Run Code Online (Sandbox Code Playgroud)

created字段中填充了时间戳; 这是查询的结果SELECT created FROM mytable WHERE 1 LIMIT 5:

created
----------
1308122243
1308122243
1308552690
1309247417
1309254571
Run Code Online (Sandbox Code Playgroud)

但是当我执行时SELECT DATE(created) FROM mytable WHERE 1 LIMIT 5,我得到奇怪的NULL:

DATE(created)
-------------
2013-08-12
2013-08-12
NULL
NULL
NULL
Run Code Online (Sandbox Code Playgroud)

为什么会这样?

Den*_*ret 8

你可能正在寻找

SELECT DATE(FROM_UNIXTIME(created)) FROM mytable WHERE 1 LIMIT 5
Run Code Online (Sandbox Code Playgroud)

  • 如果日期大于2038-01-19,FROM_UNIXTIME将返回null.这是一个解决方法http://stackoverflow.com/questions/31811527/mysql-from-unixtime-after-2038-01-19 (3认同)