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

Tổng thời gian trong MySQL bằng cách chuyển đổi sang giây

Để cộng các giá trị TIME, chuyển từng giá trị sang giây bằng TIME_TO_SEC(), cộng dồn, rồi chuyển ngược lại bằng SEC_TO_TIME().

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable (
    ArrivalTime TIME
);

Chèn dữ liệu:

mysql> INSERT INTO DemoTable VALUES('04:10:00');
mysql> INSERT INTO DemoTable VALUES('05:20:50');
mysql> INSERT INTO DemoTable VALUES('06:40:10');

Xem dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả

+-------------+
| ArrivalTime |
+-------------+
| 04:10:00    |
| 05:20:50    |
| 06:40:10    |
+-------------+

Tính tổng thời gian:

mysql> SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(ArrivalTime))) FROM DemoTable;

Kết quả

+-------------------------------------------------+
| SEC_TO_TIME(SUM(TIME_TO_SEC(ArrivalTime)))      |
+-------------------------------------------------+
| 16:11:00                                        |
+-------------------------------------------------+

Giải thích: TIME_TO_SEC('04:10:00') = 15000, cộng cả 3 = 58260 giây, SEC_TO_TIME(58260) = '16:11:00'. Kết quả có thể vượt quá 24h (MySQL TIME hỗ trợ đến 838:59:59).