為什麼將‘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)

更新於:2020 年 1 月 28 日

283 個瀏覽量

開啟你的 事業

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.