微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sqlserver实现字符串从小到大排序

--字符串排序
declare @a int,@b int,@c int,@d varchar(max),@e varchar(max),@f varchar(max)
set @a=1
set @b=1
set @d='bbdgegpoakfoa'
set @c=LEN(@d)
set @e=SUBSTRING(@d,1,1)
set @f=''
while @b<@c
begin
while @a<LEN(@d)
begin
if  @e>SUBSTRING(@d,@a,1)
set @e=SUBSTRING(@d,1)
set @a=@a+1
end
set @d=stuff(@d,charindex(@e,@d,1),'')
set @a=1
set @b=@b+1
set @f=@f+@e
set @e=SUBSTRING(@d,1)
end

结果:abbdefggkoop

AndyHang提供的更简便好理解的方法,通过表的order by

set  nocount  on
declare  @ table  table (val  char (1))
@s  varchar (8000),@i  int
@s= 'bbdgegpoakfoa'
@i=1
while @i<=LEN(@s)
begin
     insert  into  select  SUBSTRING (@s,@i,1)
@i=@i+1
end
 
''
select  @s=@s+val  from  order  by  val
print @s
 
/*
aabbdefggkoop
*/

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐