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

Sắp xếp trường varchar theo số trong MySQL?

‘LPAD (low (column_name))’ được sử dụng để sắp xếp trường varchar theo số trong MySQL. Hãy để chúng tôi xem một ví dụ.

Đầu tiên, chúng ta sẽ tạo một bảng. Lệnh CREATE được sử dụng để tạo bảng.

mysql> create table SortingvarcharDemo
   -> (
   -> List varchar(10)
   -> );
Query OK, 0 rows affected (0.82 sec)

Các bản ghi được chèn với sự trợ giúp của lệnh INSERT.

mysql> insert into SortingvarcharDemo values("99");
Query OK, 1 row affected (0.12 sec)

mysql> insert into SortingvarcharDemo values("9");
Query OK, 1 row affected (0.17 sec)

mysql> insert into SortingvarcharDemo values("199");
Query OK, 1 row affected (0.19 sec)

mysql> insert into SortingvarcharDemo values("1");
Query OK, 1 row affected (0.11 sec)

mysql> insert into SortingvarcharDemo values("999");
Query OK, 1 row affected (0.10 sec)

mysql> insert into SortingvarcharDemo values("78");
Query OK, 1 row affected (0.17 sec)

Để hiển thị các bản ghi, hãy sử dụng lệnh select.

mysql> select *from SortingvarcharDemo;

Đây là kết quả đầu ra.

+------+
| List |
+------+
| 99   |
| 9    |
| 199  |
| 1    |
| 999  |
| 78   |
+------+
6 rows in set (0.05 sec)

Trong đầu ra ở trên, danh sách không có thứ tự - nó không theo thứ tự tăng dần cũng không theo thứ tự giảm dần.

Để sắp xếp số theo thứ tự tăng dần hoặc giảm dần, đây là cú pháp.

SELECT * FROM yourTableName  ORDER BY LPAD(lower(Column_name), value1,values2) asc;

Sau đây là truy vấn.

mysql> SELECT * FROM SortingvarcharDemo ORDER BY LPAD(lower(List), 6,0) asc;

Đây là kết quả đầu ra.

+------+
| List |
+------+
| 1    |
| 9    |
| 78   |
| 99   |
| 199  |
| 999  |
+------+
6 rows in set (0.17 sec)

Ở trên, kết quả được sắp xếp theo thứ tự tăng dần.