首页 > 解决方案 > Mysql varchar 排序

问题描述

我有一个varchar类型的归档参数值。即使它是 varchar 类型,它也存储整数、十进制和字母数字、特殊字符值。我想按数字排序。例如

0.001
0.002
3
3.1
4
4.3
4.9 and so on.

标签: mysql

解决方案


尝试这个 :

SELECT * FROM table_name ORDER BY parameter_value + 0;

例如:

CREATE TABLE product (
    Id int,
    name Varchar,
    price Varchar
);


INSERT INTO product
VALUES (11, 'abc', '100.5');

INSERT INTO product
VALUES (12, 'adc', '97.2');

INSERT INTO product
VALUES (13, 'arc', '104.5');

select * from product order by price +0;

输出:

12|adc|97.2
11|abc|100.5
13|arc|104.5

这将有助于对 varchar 类型列的数值进行排序。


推荐阅读