如何按DESC或ASC对varchar数字列进行排序? [英] how to sort varchar numeric columns by DESC or ASC?
本文介绍了如何按DESC或ASC对varchar数字列进行排序?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我写...
ORDER BY column ASC
但是我的列是VARCHAR
,它的排序方式与1, 10, 2
相似,而不是1, 2, 10
.
but my column is VARCHAR
and it sorts wrong like 1, 10, 2
, instead of 1, 2, 10
.
如何将其排序为1, 2, 10
?
推荐答案
order by
cast(column as float)
注意:
- 假定您在列中只有数字.没有鱼"或自行车"
- 空字符串CAST设为零
对于MySQL. 您不能强制浮动
order by
cast(column as decimal(38,10))
这篇关于如何按DESC或ASC对varchar数字列进行排序?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文