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

本文介绍了如何在SQLServer中对字符串进行从小到大的排序,通过示例展示了使用`ORDER BY`子句实现字符串排序的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--字符串排序
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,@a,1)
set @a=@a+1
end
set @d=stuff(@d,charindex(@e,@d,1),1,'')
set @a=1
set @b=@b+1
set @f=@f+@e
set @e=SUBSTRING(@d,1,1)
end

结果:abbdefggkoop

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

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


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值