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

แบบสอบถาม MySQL เพื่อแปลง timediff () เป็นวินาที?


สำหรับสิ่งนี้ คุณสามารถใช้ฟังก์ชัน TIME_TO_SEC() ได้ ให้เราสร้างตารางก่อน -

mysql> สร้างตาราง DemoTable -> ( -> เวลา SourceTime -> เวลา DestinationTime -> ); ตกลง สืบค้น 0 แถวได้รับผลกระทบ (1.33 วินาที)

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

mysql> แทรกลงในค่า DemoTable('10:20:00','4:50:54');แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที)mysql> แทรกลงในค่า DemoTable ('12:05:10 ','7:45:12');แบบสอบถามตกลง ได้รับผลกระทบ 1 แถว (0.30 วินาที)

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

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

ผลลัพธ์

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

<ก่อนหน้า>+--------------------------------------------+| SourceTime | เวลาปลายทาง |+--------------------+-----------------+| 10:20:00 | 04:50:54 || 12:05:10 | 07:45:12 |+-----------+-----------------+2 แถวในชุด (0.00 วินาที)

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

mysql> SELECT ABS(TIME_TO_SEC(timediff(DestinationTime, SourceTime))) จาก DemoTable

ผลลัพธ์

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

<ก่อน>+--------------------------------------------- ----+| ABS(TIME_TO_SEC(timediff(DestinationTime, SourceTime))) |+------------------------------------------ ------------------------------------+| 19746 || 15598 |+--------------------------------------------- ----------+2 แถวในชุด (0.00 วินาที)