Computer >> Máy Tính >  >> Lập trình >> MySQL

Thứ tự theo ngày được đặt với kiểu varchar trong MySQL


Đối với điều này, hãy sử dụng ORDER BY STR_TO_DATE trong MySQL như trong cú pháp bên dưới -

select *from yourTableName ORDER BY STR_TO_DATE(yourColumnName, '%M %Y') DESC;

Đầu tiên chúng ta hãy tạo một bảng -

mysql> create table DemoTable678(DueDate varchar(200));
Query OK, 0 rows affected (0.62 sec)

Chèn một số bản ghi trong bảng bằng lệnh chèn. Chúng tôi đã chèn ngày ở đây -

mysql> insert into DemoTable678 values('March 2019');
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable678 values('November 2018');
Query OK, 1 row affected (0.18 sec)
mysql> insert into DemoTable678 values('January 2019');
Query OK, 1 row affected (0.18 sec)

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

mysql> select *from DemoTable678;

Điều này sẽ tạo ra kết quả sau -

+---------------+
| DueDate       |
+---------------+
| March 2019    |
| November 2018 |
| January 2019  |
+---------------+
3 rows in set (0.00 sec)

Sau đây là truy vấn để sắp xếp theo ngày đã đặt với kiểu varchar -

mysql> select *from DemoTable678 ORDER BY STR_TO_DATE(DueDate, '%M %Y') DESC;

Điều này sẽ tạo ra kết quả sau -

+---------------+
| DueDate       |
+---------------+
| March 2019    |
| January 2019  |
| November 2018 |
+---------------+
3 rows in set (0.00 sec)