UNIX_TIMESTAMP在年龄超过1970年的日期返回NULL

时间:2017-04-10 09:14:11

标签: sql sql-server datetime

我正在使用SQL UNIX_TIMESTAMP()函数获取存储在datetime数据类型的表中的日期的UNIX_TIMESTAMP。我开始得到奇怪的结果。进一步的故障排除表明,1970年以后的所有日期都将返回NULL

我该如何解决这个问题?

测试SQL语句:

SELECT userId, dateValue, UNIX_TIMESTAMP(dateValue) FROM ow_base_question_data WHERE `questionName` = 'birthdate'

结果如下图所示。

SQL query result

1 个答案:

答案 0 :(得分:4)

UNIX_TIMESTAMP()于1970年1月1日00:00:00开始。比这更早的日期将返回null。由于计数从1970年1月1日00:00:00开始。

更多信息: https://en.wikipedia.org/wiki/Unix_time