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

Откуда:
Сообщений: 1574
есть данные в табл
753
537
335

мне нужно получить такое
abc
bca
cca

где 7=a, 5=b, 3=c

SELECT cust_number
,case when cust_number like '%7%' then replace(cust_number, '7', 'a')
when cust_number like '%5%' then replace(cust_number, '5', 'b')
when cust_number like '%3%' then replace(cust_number, '3', 'c')
else 'u' end num
FROM table1

не получается, как сделать?
17 май 12, 15:04    [12570605]     Ответить | Цитировать Сообщить модератору
 Re: вопрос в запросе replace  [new]
Baddy
Member

Откуда: Харьков
Сообщений: 174
dimakz,

select replace(replace(REPLACE (cust_number, '7', 'a'), '5','b'),'3','c') from table1
17 май 12, 15:13    [12570724]     Ответить | Цитировать Сообщить модератору
 Re: вопрос в запросе replace  [new]
SomewhereSomehow
Member

Откуда: Moscow
Сообщений: 2480
Блог
dimakz,

множественный вложенный replace?
покрасивше если, вот так написать:
with cte(a) as
(
select '753' union all
select '537' union all
select '335'
)
select 
	rc.a
from 
	cte
	cross apply (select	replace(cte.a,'7','a'))ra(a)
	cross apply (select	replace(ra.a,'5','b'))rb(a)
	cross apply (select	replace(rb.a,'3','c'))rc(a)
17 май 12, 15:15    [12570756]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить