Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Замена не цифровых значений в строке  [new]
Michail A.
Member

Откуда:
Сообщений: 79
Добрый день!

Ищу способ заменить в строке не цифровые значения на пробел

declare @s nvarchar(100)
Set @s = N'ewr23afds234яфыч'

while @s like N'%[^0-9]%' SET @S =STUFF(@s,patindex(N'%[^0-9]%',@s),1,N' ')

select @s


Данный способ работает медленно и за разумное время к результату не приводит.
Может есть другой вариант?
12 авг 19, 10:14    [21946847]     Ответить | Цитировать Сообщить модератору
 Re: Замена не цифровых значений в строке  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 28894
Michail A.
Данный способ работает медленно и за разумное время к результату не приводит.
Так у вас там бесконечный цикл.
Вот так работает:
declare @s nvarchar(100)
Set @s = N'ewr23afds234яфыч'

while @s like N'%[^0-9 ]%' SET @S =STUFF(@s,patindex(N'%[^0-9 ]%',@s),1,N' ')

select @s
12 авг 19, 10:40    [21946867]     Ответить | Цитировать Сообщить модератору
 Re: Замена не цифровых значений в строке  [new]
iap
Member

Откуда: Москва
Сообщений: 46815
выборка чисел из строки
12 авг 19, 10:46    [21946871]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить