Để sắp xếp thời gian theo AM / PM trong MySQL, bạn có thể sử dụng ORDER BY STR_TO_DATE ().
Sau đây là cú pháp -
select yourColumnName from yourTableName ORDER BY STR_TO_DATE(yourColumnName , '%l:%i %p');
Đầu tiên chúng ta hãy tạo một bảng -
mysql> create table DemoTable ( Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, UserLogoutTime varchar(200) ); Query OK, 0 rows affected (0.97 sec)
Chèn bản ghi vào bảng bằng lệnh chèn -
mysql> insert into DemoTable(UserLogoutTime) values('09:45 PM'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable(UserLogoutTime) values('11:56 AM'); Query OK, 1 row affected (0.11 sec) mysql> insert into DemoTable(UserLogoutTime) values('01:01 AM'); Query OK, 1 row affected (0.17 sec) mysql> insert into DemoTable(UserLogoutTime) values('02:01 PM'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable(UserLogoutTime) values('04:10 PM'); Query OK, 1 row affected (0.15 sec)
Hiển thị các bản ghi từ bảng bằng lệnh select -
mysql> select *from DemoTable;
Điều này sẽ tạo ra kết quả sau -
+----+----------------+ | Id | UserLogoutTime | +----+----------------+ | 1 | 09:45 PM | | 2 | 11:56 AM | | 3 | 01:01 AM | | 4 | 02:01 PM | | 5 | 04:10 PM | +----+----------------+ 5 rows in set (0.00 sec)
Đây là truy vấn để sắp xếp thời gian Trong AM / PM trong MySQL -
mysql> select UserLogoutTime from DemoTable ORDER BY STR_TO_DATE(UserLogoutTime, '%l:%i %p');
Điều này sẽ tạo ra kết quả sau -
+----------------+ | UserLogoutTime | +----------------+ | 01:01 AM | | 11:56 AM | | 02:01 PM | | 04:10 PM | | 09:45 PM | +----------------+ 5 rows in set (0.00 sec)