如果 MySQL TIMEDIFF() 函式的輸出超過 TIME 欄位的範圍值會發生什麼?


我們知道 MySQL 中 TIME 欄位的範圍是 ‘-838:59:59’‘838:59:59’。現在,如果 TIMEDIFF() 函式的輸出超過此範圍,則 MySQL 將返回 ‘-838:59:59’‘838:59:59’,具體取決於引數的值。

示例

mysql> Select TIMEDIFF('2017-09-01 03:05:45','2017-10-22 03:05:45')AS 'Out of Range TIME Difference';
+------------------------------+
| Out of Range TIME Difference |
+------------------------------+
| -838:59:59                   |
+------------------------------+
1 row in set, 1 warning (0.00 sec)

mysql> Select TIMEDIFF('2017-10-22 04:05:45','2017-09-01 03:05:45')AS 'Out of Range TIME Difference';
+------------------------------+
| Out of Range TIME Difference |
+------------------------------+
| 838:59:59                    |
+------------------------------+
1 row in set, 1 warning (0.01 sec)

上面的查詢表明,如果總差值超出範圍,MySQL 將返回 TIME 欄位範圍的最大值或最小值。

更新於: 2019年7月30日

147 次瀏覽

開啟你的職業生涯

完成課程獲得認證

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