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

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


สำหรับสิ่งนี้ คุณสามารถใช้ time_format() และ time_diff() หากต้องการทราบความแตกต่างของเวลา คุณต้องใช้เมธอด time_diff() ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable624 (PunchIn datetime,PunchOut datetime) เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.60 วินาที)

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

mysql> แทรกลงในค่า DemoTable624 ('2019-07-14 12:10:00', '2019-07-14 12:50:00'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.12 วินาที)mysql> แทรก ลงในค่า DemoTable624('2019-07-14 11:00:00', '2019-07-14 11:30:00');ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.34 วินาที)

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

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

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อนหน้า>+---------------------+---------------------+| 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 แถวในชุด (0.00 วินาที)

ต่อไปนี้เป็นแบบสอบถามเพื่อรับความแตกต่างของเวลา -

mysql> เลือก time_format(timediff(PunchIn,PunchOut),'%H ชม, %i นาที') จาก DemoTable624;

สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -

<ก่อน>+--------------------------------------------- --------------+| time_format(timediff(PunchIn,PunchOut),'%H ชม., %i min.') |+----------------------------- -------------------------------------+| -00 น. 40 นาที || -00 น. 30 นาที |+------------------------------------------------ ------------+2 แถวในชุด (0.00 วินาที)