sql排序
我也问一个排序问题
table1
col1 col2
1 10
2 7
3 8
4 6
5 长10
col2是varchar类型
如何使col2中数字的可以正常排序啊?
问题点数:100、回复次数:11Top
1 楼falcon36017(老猎)回复于 2006-02-22 08:54:31 得分 2
最简单的就是转换为INT类型然后排序.Top
2 楼lang11zi(微软菜虫)回复于 2006-02-22 08:57:23 得分 0
怎么操作Top
3 楼godhuang(靖轩)回复于 2006-02-22 08:59:59 得分 2
如果col2的数据不等长,只要少位的前面补零,这样就可以正常排序Top
4 楼lang11zi(微软菜虫)回复于 2006-02-22 09:02:08 得分 0
sql语句怎么写啊Top
5 楼Eddie005(♂) №.零零伍 (♂)回复于 2006-02-22 09:09:41 得分 2
lz想要的最后结果是什么,这样吗?
col1 col2
4 6
2 7
3 8
1 10
5 长10 ------这里面的数字也参与排序?
这恐怕办不到...Top
6 楼xuwenzhuo(约定好了!我们会撑着那把油纸伞风雨同路、不分不离、吃到老玩到老。)回复于 2006-02-22 09:13:44 得分 2
you can'nt user "order by col2 desc" in sql server ?
else :
read your data in a datatable ,change your col2's datatype into int all over the datable,then call the property myDataTable.DefaultView .Sort = "col2 DESC".
the dataview is what you want.
Top
7 楼fengyaner(风颜儿)回复于 2006-02-22 09:16:25 得分 2
lz想要的最后结果是什么Top
8 楼lang11zi(微软菜虫)回复于 2006-02-22 09:26:36 得分 0
col1 col2
4 6
2 7
3 8
1 10
5 长10 ------不参与排序
Top
9 楼lang11zi(微软菜虫)回复于 2006-02-22 09:46:00 得分 0
已经解决感谢各位!
select col1,col2
from table1
order by isnumeric(col2) desc,case when isnumeric(col2)=1 then convert(money,col2) end
支持小数了Top
10 楼cow8063(天涯远不远?不远!人在天涯,天涯怎会远)回复于 2006-02-22 09:48:18 得分 88
SELECT *
FROM cs
ORDER BY CAST(col2 AS int) 这样行吗Top
11 楼RoninBlade(RoninBlade)回复于 2006-02-22 09:49:48 得分 2
学习Top




