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

Chuyển đổi TIMEDIFF sang giây trong MySQL

Hàm TIMEDIFF() trả về chênh lệch kiểu TIME. Dùng TIME_TO_SEC() để chuyển sang giây. Thêm ABS() để luôn ra số dương.

Ví dụ minh họa

Tạo bảng:

mysql> CREATE TABLE DemoTable (
    SourceTime TIME,
    DestinationTime TIME
);

Chèn dữ liệu:

mysql> INSERT INTO DemoTable VALUES('10:20:00', '04:50:54');
mysql> INSERT INTO DemoTable VALUES('12:05:10', '07:45:12');

Xem dữ liệu:

mysql> SELECT * FROM DemoTable;

Kết quả

+------------+-----------------+
| SourceTime | DestinationTime |
+------------+-----------------+
| 10:20:00   | 04:50:54        |
| 12:05:10   | 07:45:12        |
+------------+-----------------+

Tính chênh lệch tuyệt đối (giây):

mysql> SELECT ABS(TIME_TO_SEC(TIMEDIFF(DestinationTime, SourceTime))) FROM DemoTable;

Kết quả

+---------------------------------------------------------+
| ABS(TIME_TO_SEC(TIMEDIFF(DestinationTime, SourceTime))) |
+---------------------------------------------------------+
| 19746                                                   |
| 15598                                                   |
+---------------------------------------------------------+

Giải thích: TIMEDIFF('04:50:54', '10:20:00') = '-05:29:06', TIME_TO_SEC = -19746, ABS = 19746 giây.