go
-- 创建函数(作者:csdn邹建)
create function getstrarrlength (@str varchar(8000))
returns int
as
begin
declare @int_return int
declare @start int
declare @next int
declare @location int
select @str =','+ @str +','
select @str=replace(@str,',,',',')
select @start =1
select @next =1
select @location = charindex(',',@str,@start)
while (@location <>0)
begin
select @start = @location +1
select @location = charindex(',',@str,@start)
select @next =@next +1
end
select @int_return = @next-2
return @int_return
end
-- 测试示例
SELECT [dbo].[getstrarrlength]('1,2,3,4,a,b,c,d')
--运行结果
/*
8
*/
/*
说明:
我开始考虑直接看逗号的个数,用replace替换逗号,求长度差就可以了,但是这里这个函数两个逗号相邻做了处理。
*/
[MSSQL]获取元素个数的函数
最新推荐文章于 2025-10-03 14:25:30 发布
创建了一个名为getstrarrlength的SQL函数,用于计算由逗号分隔的字符串中元素的数量。通过处理相邻的逗号,函数可以准确地返回元素个数。在测试示例中,对于'1,2,3,4,a,b,c,d'这样的输入,函数返回了正确的结果8。"
116347417,10898707,电力系统自动化实验设备QY-GPD21详解,"['电力工程', '自动化技术', '实验室设备', '发电机控制', '电力系统实验']
2803

被折叠的 条评论
为什么被折叠?



