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

Sắp xếp cột VARCHAR theo số trong MySQL?

Dùng LPAD(LOWER(column_name)) để sắp xếp cột VARCHAR theo thứ tự số.

Tạo bảng

mysql> CREATE TABLE SortingvarcharDemo (
    -> List VARCHAR(10)
    -> );
Query OK, 0 rows affected (0.82 sec)

Chèn dữ liệu

mysql> INSERT INTO SortingvarcharDemo VALUES("99"),("9"),("199"),("1"),("999"),("78");

Dữ liệu gốc (không sắp xếp)

+------+
| List |
+------+
| 99   |
| 9    |
| 199  |
| 1    |
| 999  |
| 78   |
+------+

Sắp xếp số tăng dần

mysql> SELECT * FROM SortingvarcharDemo ORDER BY LPAD(LOWER(List), 6, '0') ASC;

Kết quả:

+------+
| List |
+------+
| 1    |
| 9    |
| 78   |
| 99   |
| 199  |
| 999  |
+------+