ในการจัดเรียงเวลาใน AM/PM ใน MySQL คุณสามารถใช้ ORDER BY STR_TO_DATE()
ต่อไปนี้เป็นไวยากรณ์ -
เลือก yourColumnName จาก yourTableName ORDER BY STR_TO_DATE(yourColumnName , '%l:%i %p');
ให้เราสร้างตารางก่อน -
mysql> สร้างตาราง DemoTable ( Id int ไม่ใช่ NULL AUTO_INCREMENT PRIMARY KEY, UserLogoutTime varchar(200)); เคียวรีตกลง 0 แถวได้รับผลกระทบ (0.97 วินาที)
แทรกระเบียนในตารางโดยใช้คำสั่ง insert -
mysql> แทรกลงในค่า DemoTable(UserLogoutTime) ('09:45 PM'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า DemoTable (UserLogoutTime) ('11:56 AM'); แบบสอบถาม ตกลง 1 แถวได้รับผลกระทบ (0.11 วินาที)mysql> แทรกลงในค่า DemoTable (UserLogoutTime) ('01:01 AM'); แบบสอบถามตกลง 1 แถวได้รับผลกระทบ (0.17 วินาที) mysql> แทรกลงในค่า DemoTable (UserLogoutTime) ('02:01 PM'); ตกลง แบบสอบถาม 1 แถวได้รับผลกระทบ (0.10 วินาที) mysql> แทรกลงในค่า DemoTable (UserLogoutTime) ('04:10 PM'); ตกลง ตกลง 1 แถว (0.15 วินาที)
แสดงบันทึกจากตารางโดยใช้คำสั่ง select -
mysql> เลือก *จาก DemoTable;
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+---+----------------+| รหัส | UserLogoutTime |+---+----------------+| 1 | 21:45 น. || 2 | 11:56 น. || 3 | 01:01 น. || 4 | 02:01 PM || 5 | 16:10 PM |+----+----------------+5 แถวในชุด (0.00 วินาที)นี่คือแบบสอบถามเพื่อจัดเรียงเวลาใน AM/ PM ใน MySQL -
mysql> เลือก UserLogoutTime จาก DemoTable ORDER BY STR_TO_DATE(UserLogoutTime, '%l:%i %p');
สิ่งนี้จะสร้างผลลัพธ์ต่อไปนี้ -
<ก่อนหน้า>+----------------+| UserLogoutTime |+----------------+| 01:01 น. || 11:56 น. || 02:01 PM || 16:10 PM || 21:45 น. |+----------------+5 แถวในชุด (0.00 วินาที)