首页 > 文章列表 > 为什么我在将“1965-05-15”等日期转换为 TIMESTAMP 时得到输出 0(零)?

为什么我在将“1965-05-15”等日期转换为 TIMESTAMP 时得到输出 0(零)?

492 2023-09-11

众所周知,借助 MySQL UNIX_TIMESTAMP 函数,我们可以生成给定日期/日期时间的秒数。但是,当我们尝试转换像“1965-05-15”这样的日期时,它会给出 0(零)作为输出,因为 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)