如果需要统计某条记录,某个字段中用逗号分开后的字符个数,如某记录某段的内容如下:a,b,c,d,e,f ,g 统计的结果应该为: 7 ,那么,这个自定义函数要如何写呢?下文将为您示例。

如果SQL数据库需要统计某条记录,某个字段中用逗号分开后的字符个数,如某记录某段的内容如下:a,b,c,d,e,f ,g 统计的结果应该为: 7 ,那么,这个SQL自定义函数要如何写呢?下面将为您示例:

用SQL自定义函数统计字逗号分隔符的字符总个数(sql 逗号分隔函数)  SQL 函数 第1张

SQL function:

CREATE FUNCTION [dbo].[f_count_sub_string]
(@var varchar(500) ,
@split char(1) )
RETURNS int AS
BEGIN
declare @cur char(1)

declare @i int
select @i = 0

declare @total int
select @total = len(@var)

declare @num int
select @num = 1

while @i<=@total
begin
select @i = @i + 1
select @cur = substring(@var,@i,1)
if @cur = @split
select @num = @num+1
end

return @num
END

使用方法:

select dbo.f_count_sub_string('a,b,c,d,e,f,g',',')
结果为:
7

【编辑推荐】

SQL函数返回表的示例

SQL中遗留的"系统"函数

Sql Server数据类型转换函数

SQL汉字转换为拼音的函数

SQL中自定义函数的存储过程的区别

转载请说明出处
知优网 » 用SQL自定义函数统计字逗号分隔符的字符总个数(sql 逗号分隔函数)

发表评论

您需要后才能发表评论