如何在MySQL中按升序或降序排序varchar数字列?

如何在MySQL中按升序或降序排序varchar数字列?

让我们首先创建一张表 –

mysql> create table DemoTable726 (Value varchar(100));
查询已运行成功,受影响的行:0

使用插入语句将一些记录插入表中 –

mysql> insert into DemoTable726 values('100');
查询已运行成功,受影响的行:1
mysql> insert into DemoTable726 values('10');
查询已运行成功,受影响的行:1
mysql> insert into DemoTable726 values('110');
查询已运行成功,受影响的行:1
mysql> insert into DemoTable726 values('2000');
查询已运行成功,受影响的行:1
mysql> insert into DemoTable726 values('1000');
查询已运行成功,受影响的行:1

使用select语句从表中显示所有记录 –

mysql> select *from DemoTable726;

它会产生以下输出 –

+-------+
| Value |
+-------+
| 100   |
| 10    |
| 110   |
| 2000  |
| 1000  |
+-------+
5 rows in set (0.00 sec)

以下是按升序排序varchar数字列的查询 –

mysql> select *from DemoTable726 order by CAST(Value AS DECIMAL(20,2));

它将产生以下输出 –

+-------+
| Value |
+-------+
| 10    |
| 100   |
| 110   |
| 1000  |
| 2000  |
+-------+
5 rows in set (0.00 sec)

以下是按降序排序和显示结果的查询 –

mysql> select *from DemoTable726 order by CAST(Value AS DECIMAL(20,2)) DESC;

它将产生以下输出 –

+-------+
| Value |
+-------+
| 2000  |
| 1000  |
| 110   |
| 100   |
| 10    |
+-------+
5 rows in set (0.00 sec)

阅读更多:MySQL 教程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程