我需要通过使用while循环来获取$符号
declare @str varchar(100) = 'xyz1abc$xyz2abc$'
declare @int int = charindex('$',@str)
while (@int > 0)
begin
select @str = SUBSTRING(@str,@int,1)
select @int = charindex('$',@str)
end
select @str
正在陷入无限循环
答案 0 :(得分:0)
无限循环的原因是@int开始并且大于0,然后再不改变,因此此条件绝不为假:
while (@int > 0)
我不确定代码的目标是找到所有$ s并返回它们的位置还是找到第二个$或其他东西。