English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Wie wird ein varchar-Feld numerisch in MySQL sortiert?

'LPAD(lower(column_name))'用于在MySQL中对varchar字段进行数字排序。让我们来看一个例子。

首先,我们将创建一个表。CREATE命令用于创建表。

mysql> create table SortingvarcharDemo
   -> (
   -> Liste 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;

这是输出。

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

在上面的输出中,列表是无序的-它既不是升序也不是降序。

要按升序或降序进行数字排序,请使用以下语法。

SELECT * FROM yourTableName ORDER BY LPAD(lower(Column_name), value1,werte2) aufsteigend;

以下是查询。

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

这是输出。

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

在此处,结果按升序排列。