在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

回到顶部