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

จะเรียงลำดับเวลาใน AM / PM ใน MySQL ได้อย่างไร


ในการจัดเรียงเวลาใน 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 วินาที)