當我嘗試將“1965-05-15”這樣的日期格式轉換為時間戳時,為什麼輸出為0(零)?


眾所周知,我們可以利用MySQL UNIX_TIMESTAMP函式,生成給定日期/日期時間中所包含的秒數。但是,當我們嘗試轉換“1965-05-15”這樣的日期時,它會輸出0(零),因為TIMESTAMP的範圍在“1970-01-01 00:00:01”到“2038-01-19 08:44:07”之間。因此,超出手戳範圍的日期值無法轉換,並且始終會輸出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.