如果长度是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<len(@b)
begin
select @num=@num+len(@b)-@a
set @a=@a+1
end
select @num
扩展资料
取子串函数格式如下:
LEFT(<字符型表达式>,<数值型表达式>)
RIGHT(<字符型表达式>,<数值型表达式>)
SUBSTR(<字符型表达式>,<数值型表达式1>[,<数值型表达式2>])
功能:LEFT函数从字符型表达式左边的第一个字符开始截取子串,RIGHT函数从字符型表达式右边的第一个字符开始截取子串。
若数值型表达式的值大于0,且小于等于字符串的长度,则子串的长度与数值型表达式值相同。若数值型表达式的值大于字符串的长度,则给出整个字符串。若数值型的表达式小于或等于0,则给出一个空字符串
您可以使用以下公式计算单元格中特定字符的数量:
=len(A1)-len(替换(A1,“character”,)
在公式中,len(A1)用于计算A1单元格中的字符数量。
将单元格A1中的所有“字符”替换为替换(A1,“字符”,)。
Len(substitute(A1,“character”,))计算替换“character”后的字符数。
最后,用A1单元格中的字符数减去替换“字符”后的字符数,得出A1单元格中有几个“字符”]~。len的功能是返回文本字符串中的字符数。
lenb函数返回用于表示文本字符串中字符的字节数。此函数用于双字节字符。
lenb函数将字符串视为一组字节而不是一组字符。当字符串表示二进制数据时,应使用此函数。如果需要返回字符总数而不是字节总数,请使用len函数。