Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

MySQL: เรียงลำดับ VARCHAR ให้เป็นตัวเลข ด้วย LPAD()


ใช้ LPAD(LOWER(column_name)) เพื่อเรียง VARCHAR ให้เป็นตัวเลขใน MySQL

สร้างตารางและเพิ่มข้อมูล

mysql> CREATE TABLE SortingvarcharDemo (List VARCHAR(10));
mysql> INSERT INTO SortingvarcharDemo VALUES ('99'), ('9'), ('199'), ('1'), ('999'), ('78');

ข้อมูลดิบ (ไม่เรียง):

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

Syntax การเรียงตัวเลข

SELECT * FROM yourTableName ORDER BY LPAD(LOWER(column_name), length, pad_string) ASC;

Query จริง

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

ผลลัพธ์เรียงจากน้อยไปมาก (Ascending)

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