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

Nhận chênh lệch thời gian giữa các giá trị trong các cột khác nhau với MySQL


Đối với điều này, bạn có thể sử dụng time_format () và time_diff (). Để tìm chênh lệch múi giờ, bạn cần sử dụng phương thức time_diff (). Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable624 (PunchIn datetime,PunchOut datetime);
Query OK, 0 rows affected (0.60 sec)

Chèn một số bản ghi vào bảng bằng lệnh chèn -

mysql> insert into DemoTable624 values('2019-07-14 12:10:00', '2019-07-14 12:50:00');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable624 values('2019-07-14 11:00:00', '2019-07-14 11:30:00');
Query OK, 1 row affected (0.34 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable624;

Điều này sẽ tạo ra kết quả sau -

+---------------------+---------------------+
| PunchIn             | PunchOut            |
+---------------------+---------------------+
| 2019-07-14 12:10:00 | 2019-07-14 12:50:00 |
| 2019-07-14 11:00:00 | 2019-07-14 11:30:00 |
+---------------------+---------------------+
2 rows in set (0.00 sec)

Sau đây là truy vấn để lấy chênh lệch múi giờ -

mysql> select time_format(timediff(PunchIn,PunchOut),'%H hrs, %i min.') from DemoTable624;

Điều này sẽ tạo ra kết quả sau -

+-----------------------------------------------------------+
| time_format(timediff(PunchIn,PunchOut),'%H hrs, %i min.') |
+-----------------------------------------------------------+
| -00 hrs, 40 min.                                          |
| -00 hrs, 30 min.                                          |
+-----------------------------------------------------------+
2 rows in set (0.00 sec)