“如何从下面的字符串xyz1abc $ xyz2abc $获取$符号”

时间:2019-06-04 17:38:34

标签: sql-server

我需要通过使用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

正在陷入无限循环

1 个答案:

答案 0 :(得分:0)

无限循环的原因是@int开始并且大于0,然后再不改变,因此此条件绝不为假:

while (@int > 0)

我不确定代码的目标是找到所有$ s并返回它们的位置还是找到第二个$或其他东西。