Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

จะคำนวณความแตกต่างระหว่างเวลาในคอลัมน์ MySQL ต่างๆ ได้อย่างไร


คุณสามารถใช้ TIME_FORMAT() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> PunchIn time, -> PunchOut time, -> Launch time -> );Query OK, 0 แถวได้รับผลกระทบ (0.50 วินาที)

แทรกระเบียนบางส่วนในตารางโดยใช้คำสั่ง insert -

mysql> แทรกลงในค่า DemoTable('9:00','6:00','1:00:00');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.19 วินาที)mysql> แทรกลงในค่า DemoTable ('9 :30','6:10','00:30:00');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.21 วินาที)

แสดงระเบียนทั้งหมดจากตารางโดยใช้คำสั่ง select -

mysql> เลือก *จาก DemoTable;

ผลลัพธ์

<ก่อน>+----------+----------+----------+| PunchIn | PunchOut | เปิดตัว |+----------+----------+----------+| 09:00:00 | 06:00:00 | 01:00:00 || 09:30:00 | 06:10:00 | 00:30:00 |+----------+----------+----------+2 แถวในชุด (0.00 วินาที)

นี่คือแบบสอบถามเพื่อคำนวณเวลาที่ถูกต้อง -

mysql> เลือก TIME_FORMAT(TIMEDIFF(TIMEDIFF(PunchIn,PunchOut), Launch), '%H:%i') เป็น TimeDiff จาก DemoTable;

ผลลัพธ์

<ก่อนหน้า>+----------+| TimeDiff |+----------+| 02:00 || 02:50 |+----------+2 แถวในชุด (0.00 วินาที)