求子串个数的公式

2025-04-11 03:40:36
推荐回答(4个)
回答1:

如果长度是7,那子串个数据就是7+6+5+4+3+2+1,以此类推。

declare @baia int,@num int,@b varchar(200)

set @b='abcdefg'

set @a=0

set @num=0

while @a

begin

select @num=@num+len(@b)-@a

set @a=@a+1

end

select @num

扩展资料

取子串函数格式如下:

LEFT(<字符型表达式>,<数值型表达式>)

RIGHT(<字符型表达式>,<数值型表达式>)

SUBSTR(<字符型表达式>,<数值型表达式1>[,<数值型表达式2>])

功能:LEFT函数从字符型表达式左边的第一个字符开始截取子串,RIGHT函数从字符型表达式右边的第一个字符开始截取子串。

若数值型表达式的值大于0,且小于等于字符串的长度,则子串的长度与数值型表达式值相同。若数值型表达式的值大于字符串的长度,则给出整个字符串。若数值型的表达式小于或等于0,则给出一个空字符串。

参考资料来源:百度百科-字符函数

回答2:

如果长度是7,那子串个数据就是7+6+5+4+3+2+1,以此类推。

declare @baia int,@num int,@b varchar(200)

set @b='abcdefg'

set @a=0

set @num=0

while @a

begin

select @num=@num+len(@b)-@a

set @a=@a+1

end

select @num

扩展资料:

AT(<字符型表达式1>,<字符型表达式2>)

ATC(<字符型表达式1>,<字符型表达式2>)

功能:若<字符型表达式1>的值存在于<字符型表达式2>的值中,则给出<字符型表达式1>在<字符型表达式2>中的开始位置,若不存在,则函数值为0。函数值为数值型。ATC函数在子串比较时不区分字母大小写。

参考资料来源:百度百科-字符函数

回答3:

有29个,7+6+5+4+3+2+1+1(空串)

回答4:

如果长度是7,那子串个数据就是7+6+5+4+3+2+1,以此类推