为什么将‘1965-05-15’格式的日期转换为时间戳 TIMESTAMP 后会得到结果 0(Zero)?
众所周知,借助 MySQL 的 UNIX_TIMESTAMP 函数,我们可以根据给定的日期/日期时间生成秒数。但当我们尝试将“1965-05-15”这样的日期转换为时间戳时,函数会给出结果 0(Zero),因为 TIMESTAMP 的范围介于“1970-01-01 00:00:01”和“2038-01-19 08:44:07”之间。因此,超出 TIMESTAMP 范围的日期值无法转换为时间戳,总是会返回结果 0。
以下为示例:
mysql> Select UNIX_TIMESTAMP ('1965-05-15'); +----------------------------------------------+ | unix_timestamp('1965-05-15 05:04:30') | +----------------------------------------------+ | 0 | +----------------------------------------------+ 1 row in set (0.00 sec) mysql> select UNIX_TIMESTAMP ('1970-05-15 05:04:30'); +----------------------------------------------+ | unix_timestamp('1970-05-15 05:04:30') | +----------------------------------------------+ | 11576070 | +----------------------------------------------+ 1 row in set (0.00 sec)
广告