«Как получить символ $ из приведенной ниже строки xyz1abc $ xyz2abc $» - PullRequest
0 голосов
/ 04 июня 2019

Мне нужно получить символ $, используя цикл 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 голосов
/ 04 июня 2019

причина бесконечного цикла в том, что @int начинается и больше 0 и затем никогда не изменяется, поэтому это условие никогда не ложно:

while (@int > 0)

Я не могу быть уверен, что цель вашего кода - найти все $ s и вернуть их позицию, либо найти второй $, или что-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...