Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

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

Như chúng ta biết, phạm vi của trường TIME trong MySQL là '-838:59:59' đến '838:59:59'. Nếu đầu ra của hàm TIMEDIFF() vượt quá phạm vi này, MySQL sẽ trả về '-838:59:59' hoặc '838:59:59' tùy thuộc vào giá trị của tham số.

Ví dụ

mysql> SELECT TIMEDIFF('2017-09-01 03:05:45','2017-10-22 03:05:45') AS 'Khoảng Cách Thời Gian Vượt Phạm Vi';
+------------------------------+
| Khoảng Cách Thời Gian Vượt Phạm Vi |
+------------------------------+
| -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 'Khoảng Cách Thời Gian Vượt Phạm Vi';
+------------------------------+
| Khoảng Cách Thời Gian Vượt Phạm Vi |
+------------------------------+
| 838:59:59                    |
+------------------------------+
1 row in set, 1 warning (0.01 sec)

Các truy vấn trên cho thấy trong trường hợp tổng chênh lệch vượt quá 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.