在MySQL中以数字方式对varchar字段进行排序?
'LPAD(lower(column_name))'用于在MySQL中对varchar字段进行数字排序。让我们来看一个例子。
首先,我们将创建一个表。CREATE命令用于创建表。
mysql> create table SortingvarcharDemo-> (
-> List varchar(10)
-> );
记录是在INSERT命令的帮助下插入的。
mysql> insert into SortingvarcharDemo values("99");mysql> insert into SortingvarcharDemo values("9");
mysql> insert into SortingvarcharDemo values("199");
mysql> insert into SortingvarcharDemo values("1");
mysql> insert into SortingvarcharDemo values("999");
mysql> insert into SortingvarcharDemo values("78");
要显示记录,请使用select命令。
mysql> select *from SortingvarcharDemo;
这是输出。
+------+| List |
+------+
| 99 |
| 9 |
| 199 |
| 1 |
| 999 |
| 78 |
+------+
6 rows in set (0.05 sec)
在上面的输出中,列表是无序的-它既不是升序也不是降序。
要按升序或降序对其进行数字排序,请使用以下语法。
SELECT * FROM yourTableName ORDER BY LPAD(lower(Column_name), value1,values2) asc;
以下是查询。
mysql> SELECT * FROM SortingvarcharDemo ORDER BY LPAD(lower(List), 6,0) asc;
这是输出。
+------+| List |
+------+
| 1 |
| 9 |
| 78 |
| 99 |
| 199 |
| 999 |
+------+
6 rows in set (0.17 sec)
在上面,结果按升序排序。
以上是 在MySQL中以数字方式对varchar字段进行排序? 的全部内容, 来源链接: utcz.com/z/321729.html