Sql Server 查询varchar 数据排序类似于int [英] Sql Server query varchar data sort like int
本文介绍了Sql Server 查询varchar 数据排序类似于int的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一张像
CREATE TABLE table_name
(
P_Id int,
amount varchar(50)
)
数据喜欢
Id amount
----------
1 2340
2 4568
3 10000
现在我想按数量对表格进行排序,但一个问题是数量是 varchar 所以它像这样对表格进行排序
Now I want to sort table by amount but one problem is amount is varchar so it sort table like this
Id amount
----------
3 10000
1 2340
2 4568
但我想要这样的结果
Id amount
----------
3 10000
2 4568
1 2340
我该怎么办?
推荐答案
在ORDER BY
子句中选择时将数量列转换为数值:
Cast amount column into Numeric in ORDER BY
clause while selecting:
SELECT * FROM MyTable
ORDER BY CAST(amount AS Numeric(10,0)) DESC
结果:
ID | 金额 |
---|---|
3 | 10000 |
2 | 4568 |
1 | 2340 |
这篇关于Sql Server 查询varchar 数据排序类似于int的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文