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

Откуда:
Сообщений: 130
Всем привет!

Никак не могу придумать как сделать вот такое:

select replace(DeviceName, '197%', '') from tablename


Надо чтобы он в итоге выдавал пустые значения вместо строк, начинающихся на 197. Этот replace - только одной поле из многих, а сам запрос довольно толстый, с кучей джойнов и группировок.
27 июл 15, 09:27    [17937568]     Ответить | Цитировать Сообщить модератору
 Re: replace по маске  [new]
Glory
Member

Откуда:
Сообщений: 104751
red88888
Никак не могу придумать как сделать вот такое:

substring(DeviceName,4,8000)
27 июл 15, 09:36    [17937603]     Ответить | Цитировать Сообщить модератору
 Re: replace по маске  [new]
red88888
Member

Откуда:
Сообщений: 130
Glory,

Не совсем понял - мне нужно не первые 3 символа выдать, а заменить всю строку, которая начинается с 197. Явно чего-то не хватает.
27 июл 15, 10:16    [17937761]     Ответить | Цитировать Сообщить модератору
 Re: replace по маске  [new]
red88888
Member

Откуда:
Сообщений: 130
скомбинировать ваш пример с моим не могу пока :(
27 июл 15, 10:16    [17937765]     Ответить | Цитировать Сообщить модератору
 Re: replace по маске  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
red88888
Надо чтобы он в итоге выдавал пустые значения вместо строк, начинающихся на 197
select case when DeviceName like '197%' then '' else DeviceName end from tablename
27 июл 15, 10:21    [17937792]     Ответить | Цитировать Сообщить модератору
 Re: replace по маске  [new]
red88888
Member

Откуда:
Сообщений: 130
iap,

Спасибо, получилось. Мысль витала в воздухе, но как то не привык для двух значений case использовать :)
27 июл 15, 10:36    [17937864]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить