早教吧 育儿知识 作业答案 考试题库 百科 知识分享

用SQL计算同一个字符(汉字、字母、数字、表情、符号)连续重复出现的次数如:aaaa%%%vfahg%&&&可以看出a连续重复4次,%连续重复3次,&连续重复3次

题目详情
用SQL计算同一个字符(汉字、字母、数字、表情、符号)连续重复出现的次数
如:aaaa%%%vfahg%&&&
可以看出a连续重复4次,%连续重复3次,&连续重复3次
▼优质解答
答案和解析
SQL Server可以使用如下查询,其他数据库要做相应修改:
declare @s nvarchar(4000), @i int, @len int, @v nvarchar(10)
set @s = 'aaaa%%%vfahg%&&&'
declare @tb table (txt nvarchar(10), cnt int)
select @i = 0, @len = len(@s)
while @i < @len
begin
 set @v = substring(@s, @i + 1, 1)
 update @tb
 set cnt = cnt + 1
 where txt = @v
 
 if @@rowcount < 1
 begin
  insert into @tb (txt, cnt)
  select @v, 1
 end
 set @i = @i + 1
end
select * from @tb