如何在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 教程
极客教程