使用$ SQL对字符串中的数字进行排序

时间:2018-06-02 18:35:12

标签: sql string

如何使用SQL按升序对以下字符串进行排序?我希望订单按数字顺序排列。

$15.00
$20.00
$5.00
$100.00
$1.00

2 个答案:

答案 0 :(得分:1)

假设所有格式都相同 - 美元符号,一些数字,小数点和小数点后两位数 - 那么你可以使用这个技巧:

order by length(col) asc, col asc

某些数据库将length()拼写为len()

如果字符串不是都具有统一格式,那么您应该将它们转换为数字以进行排序。如何执行此操作取决于未标记的数据库。

答案 1 :(得分:0)

如果您正在使用sql server,那么您可以通过以下方式执行此操作,或者第一种方法是将列数据类型转换为




  CREATE TABLE TEMP。 TEST1(SALE VARCHAR(25))
 INSERT INTO TEMP.TEST1 VALUES
('$ 15.00'),
('$ 20.00'),
('$ 5.00'),&#xA ;('$ 100.00'),('$ 1.00')

 SELECT SALE
 FROM TEMP.TEST1 CAST BY CAST(替换(销售,'$','')AS NUMERIC(10,2) ))