Computer >> Máy Tính >  >> Lập trình >> MySQL

Điều gì xảy ra nếu đầu ra của hàm MySQL TIMEDIFF () vượt qua giá trị phạm vi của trường TIME?

Như chúng ta biết rằng phạm vi của trường TIME trong MySQL là ‘-838:59:59’ thành ‘838:59:59’ . Bây giờ, nếu đầu ra của hàm TIMEDIFF () vượt qua phạm vi này thì MySQL sẽ trả về ‘-838:59:59’ hoặc ‘838:59:59’ phụ thuộc vào các giá trị của đối số.

Ví dụ

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)

Các truy vấn ở trên cho thấy rằng trong trường hợp tổng chênh lệch nằm ngoài phạm vi, MySQL trả về giá trị giới hạn tối đa hoặc tối thiểu của phạm vi trường TIME.