获取元素个数的函数

 1 -- 创建函数(作者:csdn邹建)
 2 create function getstrarrlength (@str varchar(8000))
 3 returns int
 4 as
 5 begin
 6   declare @int_return int
 7   declare @start int
 8   declare @next int
 9   declare @location int
10   select @str =','+ @str +','
11   select @str=replace(@str,',,',',')
12   select @start =1
13   select @next =1
14   select @location = charindex(',',@str,@start)
15   while (@location <>0)
16   begin
17     select @start = @location +1
18     select @location = charindex(',',@str,@start)
19     select @next =@next +1
20   end
21 select @int_return = @next-2
22 return @int_return
23 end
24  
25 -- 测试示例
26 SELECT [dbo].[getstrarrlength]('1,2,3,4,a,b,c,d')
27  
28 --运行结果
29 /*
30 8
31 */
32  
33 /*
34 说明:
35 我开始考虑直接看逗号的个数,用replace替换逗号,求长度差就可以了,但是这里这个函数两个逗号相邻做了处理。
36 */

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值