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

Làm thế nào để tính toán sự khác biệt giữa thời gian trong các cột MySQL khác nhau?

Bạn có thể sử dụng TIME_FORMAT (). Đầu tiên chúng ta hãy tạo một bảng -

 mysql> tạo bảng DemoTable -> (-> PunchIn time, -> PunchOut time, -> Launch time ->); Query OK, 0 hàng bị ảnh hưởng (0,50 giây) 

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

 mysql> chèn vào giá trị DemoTable ('9:00', '6:00', '1:00:00'); Truy vấn OK, 1 hàng bị ảnh hưởng (0,19 giây) mysql> chèn vào giá trị DemoTable ('9 :30 ',' 6:10 ',' 00:30:00 '); Truy vấn OK, 1 hàng bị ảnh hưởng (0,21 giây) 

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

 mysql> select * từ DemoTable; 

Đầu ra

 + ---------- + ---------- + ---------- + | PunchIn | PunchOut | Khởi chạy | + ---------- + ---------- + ---------- + | 09:00:00 | 06:00:00 | 01:00:00 || 09:30:00 | 06:10:00 | 00:30:00 | + ---------- + ---------- + ---------- + 2 hàng được thiết lập (0,00 giây)  

Đây là truy vấn để tính toán thời gian chính xác -

 mysql> CHỌN TIME_FORMAT (TIMEDIFF (TIMEDIFF (PunchIn, PunchOut), Khởi chạy), '% H:% i') làm TimeDiff từ DemoTable; 

Đầu ra

 + ---------- + | TimeDiff | + ---------- + | 02:00 || 02:50 | + ---------- + 2 hàng được thiết lập (0,00 giây)