为什么将‘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)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP