读书人

关于字符串排序的有关问题请问多谢

发布时间: 2012-05-16 11:12:12 作者: rapoo

关于字符串排序的问题请教,谢谢。


如上图

我已经ORDER BY itemName 了
但是结果显示的确是图上所示,
如果我要显示成

SQL code
60米60米60米800米800米800米5000米跳高


请问这个该怎么做呢,谢谢~

[解决办法]
SQL code
order by (case when charindex('米',itemName)>0 then 0 else 1 end),         (case when charindex('米',itemName)>0 then convert(int,left(itemName,charindex('米',itemName)-1)) end)
[解决办法]
把Order By ItemName改成如下:

Order by case When IsNumeric(replace(itemName ,'米',''))=1 then Cast(replace(itemName ,'米','') as int) else 2147483647 End
[解决办法]
SQL code
create table tb(name nvarchar(32))goinsert tb select '50米' union select '60米'union select '500米' union select '600米'union select '10米' union select '350米'union select '跳高'select * from tb/*name50米60米500米600米10米350米跳高*/select * from tb order by case when CHARINDEX('米',name)>0 then cast(left(name,CHARINDEX('米',name)-1)as int) else 999999999   end /*name10米50米60米350米500米600米跳高*/drop table tb 

读书人网 >SQL Server

热点推荐