Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Hiển thị bản ghi có thời gian gần nhất trong MySQL

Bạn có thể sử dụng ORDER BY STR_TO_DATE(). Hãy cùng tạo một bảng trước:

mysql> CREATE TABLE DemoTable (
    -> DueTime VARCHAR(20)
    -> ); Query OK, 0 rows affected (0.87 sec)

Chèn một số bản ghi vào bảng bằng lệnh INSERT:

mysql> INSERT INTO DemoTable VALUES('7:30AM'); Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES('9:00PM'); Query OK, 1 row affected (0.23 sec)
mysql> INSERT INTO DemoTable VALUES('11:00PM'); Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả bản ghi từ bảng bằng lệnh SELECT:

mysql> SELECT * FROM DemoTable;

Kết quả sẽ như sau:

+---------+
| DueTime |
+---------+
| 7:30AM  |
| 9:00PM  |
| 11:00PM |
+---------+
3 rows in set (0.00 sec)

Dưới đây là truy vấn để lấy bản ghi có thời gian gần nhất:

mysql> SELECT * FROM DemoTable
    -> ORDER BY STR_TO_DATE(DueTime, '%h:%i%p') DESC LIMIT 1;

Kết quả sẽ như sau:

+---------+
| DueTime |
+---------+
| 11:00PM |
+---------+
1 row in set (0.00 sec)