在sql中的排序问题
例如:有(03,15,16,08,10)如何经过排序后得到如下顺序
(03,08,10,15,16)
问题点数:50、回复次数:6Top
1 楼txlicenhe(马可)回复于 2003-12-02 08:42:46 得分 0
order by cast(字段 as int)
Top
2 楼victorycyz(--)回复于 2003-12-02 08:51:39 得分 0
order by 字段 --这样难道不能正确排序吗?Top
3 楼pengdali()回复于 2003-12-02 08:52:36 得分 0
order by 字段+0Top
4 楼realgz(realgz)回复于 2003-12-02 09:01:53 得分 40
declare @x table (t varchar(200))
declare @x2 varchar(200)
set @x2='03,15,16,08,10'
set @x2=@x2+','
while @x2<>''
begin
insert into @x (t) values (left(@x2,charindex(',',@x2)-1))
set @x2=right(@x2,len(@x2)-charindex(',',@x2))
end
select @x2=@x2+t+',' from @x order by t
set @x2=left(@x2,len(@x2)-1)
print @x2
Top
5 楼wzh1215(懒猫)回复于 2003-12-02 09:02:54 得分 0
直接用:
order by 字段
就行了。
如果是('3','15','16','8','10')
就得用:order by cast(字段 as in)Top
6 楼wzh1215(懒猫)回复于 2003-12-02 09:03:53 得分 10
缺了点
直接用:
order by 字段
就行了。
如果是('3','15','16','8','10')
就得用:order by cast(字段 as int)
Top




