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

众所周知,借助MySQL UNIX_TIMESTAMP函数,我们可以从给定的date / DateTime产生秒数。但是,当我们尝试转换“ 1965-05-15”之类的日期时,由于TIMESTAMP的范围介于“ 1970-01-01 00:00:01”到“ 2038-01-”之间,因此输出为0(零)。 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)
猜你喜欢