sql server 截取字符串中用某符号隔开的多个单词的首字母

前几天,有个朋友找到我,问我可不可以给他写一个方法,功能是:

 截取字符串中用某符号隔开的多个单词的首字母,如:

 将'ab c def g' 这个字符串截取为 acdg

我给出的方法如下

create function xy_frist(@str nvarchar(2000),@punctuation varchar(50)) 

returns nvarchar(2000)

 as 

begin    

 declare @midstr nvarchar(2000)     

SET @midstr = ''     

while (1=1)    

 begin       

 set @midstr = @midstr + SUBSTRING(@str,1,1)--取首字母        

--PRINT @midstr        

IF(CHARINDEX(@punctuation,@str)<1)--如果字符串中不包含 所要的  符号,则跳出循环        

BEGIN         BREAK        END       

 ELSE--如果包含,则截取 执行 符号 以后至末尾的字符串        

BEGIN         SET @str = SUBSTRING(@str, CHARINDEX(@punctuation,@str)+1,len(@str)- CHARINDEX(@punctuation,@str))         END    

 end    

 return @midstr end

--drop function xy_frist

--select dbo.xy_frist('ab c def g',' ')   --想要的结果是acdg

记录一下~

转载于:https://www.cnblogs.com/shanzhigang/archive/2013/05/20/3088711.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值