如果 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 欄位範圍的最大值或最小值。
廣告
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP