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

รับความแตกต่างระหว่างการประทับเวลาสองครั้งในไม่กี่วินาทีใน MySQL หรือไม่


หากต้องการทราบความแตกต่างระหว่างการประทับเวลาสองครั้งในหน่วยวินาที ให้ใช้ฟังก์ชันในตัวสองตัว TIME_TO_SEC() และ TIMEDIFF() ใน MySQL ไวยากรณ์มีดังนี้ −

select time_to_sec(timediff(yourCoulnName1,yourCoulnName2)) เป็น anyVariableName จาก yourTableName;

เพื่อให้เข้าใจแนวคิดข้างต้น ให้เราสร้างตารางก่อน แบบสอบถามเพื่อสร้างตาราง

mysql> สร้างตาราง TimeToSecond −> ( −> MyTime timestamp, −> YourTime timestamp −> ); Query OK, 0 แถวได้รับผลกระทบ (0.48 วินาที)

ตอนนี้คุณสามารถแทรกค่าวันที่และเวลาบางค่าในตารางได้ แบบสอบถามมีดังนี้ −

mysql> แทรกลงในค่า TimeToSecond ('2016-05-10 10:02:00','2016-05-10 10:00:00'); ตกลง ตกลง 1 แถวได้รับผลกระทบ (0.15 วินาที)mysql> แทรก ลงในค่า TimeToSecond('2016-05-10 10:06:00','2016-05-10 10:03:00');Query OK, 1 แถวได้รับผลกระทบ (0.24 วินาที)mysql> แทรกลงในค่า TimeToSecond ('2018 -05-10 11:00:00','2018-05-10 10:00:00');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.08 วินาที)

หลังจากแทรกแล้ว คุณสามารถตรวจสอบจำนวนระเบียนที่มีอยู่ในตารางโดยใช้คำสั่ง select แบบสอบถามเพื่อแสดงระเบียนทั้งหมดมีดังนี้ −

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

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+---------------------+---------------------+| MyTime | YourTime |+---------------------+---------------------+| 2016-05-10 10:02:00 | 2016-05-10 10:00:00 || 2016-05-10 10:06:00 | 2016-05-10 10:03:00 || 2018-05-10 11:00:00 | 2018-05-10 10:00:00 |+---------------------------+---------------- -----+3 แถวในชุด (0.00 วินาที)

ให้เราได้ทราบความแตกต่างระหว่างการประทับเวลาสองครั้งในไม่กี่วินาทีโดยใช้ไวยากรณ์ที่เรากล่าวถึงข้างต้น แบบสอบถามมีดังนี้ −

mysql> เลือก time_to_sec(timediff(MyTime,YourTime)) เป็น DifferenceInSeconds จาก TimeToSecond;

ต่อไปนี้เป็นผลลัพธ์ -

<ก่อนหน้า>+---------------------+| DifferenceInSeconds |+---------------------+| 120 || 180 || 3600 |+--------------------+3 แถวในชุด (0.00 วินาที)