Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Ví dụ về TIMEDIFF () - MySQL

MySQL TIMEDIFF() hàm trả về sự khác biệt giữa hai giá trị thời gian hoặc ngày giờ.

Cách hoạt động của nó là bạn cung cấp hai giá trị để so sánh và TIMEDIFF() trừ giá trị thứ hai cho giá trị đầu tiên, sau đó trả về kết quả dưới dạng giá trị thời gian.

Cú pháp

Cú pháp như sau:

TIMEDIFF(expr1,expr2)

Trong đó expr1expr2 là hai giá trị để so sánh. Giá trị trả về là expr2 được trừ từ expr1 .

Ví dụ cơ bản

Đây là một ví dụ để chứng minh.

SELECT TIMEDIFF('11:35:25', '10:35:25');

Kết quả:

+----------------------------------+
| TIMEDIFF('11:35:25', '10:35:25') |
+----------------------------------+
| 01:00:00                         |
+----------------------------------+

Thời gian đã trôi qua

Giá trị thời gian có thể thể hiện thời gian đã trôi qua, vì vậy nó không bị giới hạn dưới 24 giờ.

SELECT TIMEDIFF('500:35:25', '10:35:25');

Kết quả:

+-----------------------------------+
| TIMEDIFF('500:35:25', '10:35:25') |
+-----------------------------------+
| 490:00:00                         |
+-----------------------------------+

Chênh lệch thời gian âm

Nếu giá trị thứ hai lớn hơn giá trị đầu tiên, bạn sẽ nhận được giá trị âm cho chênh lệch thời gian. Điều này hoàn toàn hợp lệ.

SELECT TIMEDIFF('10:35:25', '500:35:25');

Kết quả:

+-----------------------------------+
| TIMEDIFF('10:35:25', '500:35:25') |
+-----------------------------------+
| -490:00:00                        |
+-----------------------------------+

Giá trị ngày giờ

Dưới đây là một ví dụ sử dụng giá trị ngày giờ làm đối số.

SELECT TIMEDIFF('2021-02-01 10:35:25', '2021-01-01 10:35:25');

Kết quả:

+--------------------------------------------------------+
| TIMEDIFF('2021-02-01 10:35:25', '2021-01-01 10:35:25') |
+--------------------------------------------------------+
| 744:00:00                                              |
+--------------------------------------------------------+

Lưu ý rằng cả hai đối số phải cùng loại. Vì vậy, bạn không thể có giá trị thời gian cho giá trị đầu tiên và giá trị ngày giờ cho thứ hai (và ngược lại).

Cũng xin lưu ý rằng loại dữ liệu thời gian chỉ có thể nằm trong phạm vi -838:59:59 thành 838:59:59 . Do đó, những điều sau đây không hoạt động:

SELECT TIMEDIFF('2000-01-01 10:35:25', '2021-01-01 10:35:25');

Kết quả:

+--------------------------------------------------------+
| TIMEDIFF('2000-01-01 10:35:25', '2021-01-01 10:35:25') |
+--------------------------------------------------------+
| -838:59:59                                             |
+--------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)

Trong trường hợp này, chúng tôi nhận được một kết quả không chính xác và một cảnh báo.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Xuất cơ sở dữ liệu MySQL bằng PHP

  2. MySQL Chọn Ngày tương đương với Hôm nay

  3. PDO câu lệnh chuẩn bị tìm nạp () trả về kết quả kép

  4. Cách tăng kết nối tối đa trong MySQL

  5. Cách truy cập PhpMyAdmin mà không cần đăng nhập cPanel