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

Откуда:
Сообщений: 31
Доброго времени суток народ!

есть таблица в которой имеется строки с наименованием ошибки text и три столбца с координатами x,y,z ; если координаты равны NULL то соответственно наименование ошибки не связано с координатами и его можно вывести как есть, а если координаты не равны NULL то наименование имеее вид "error{1}{2}{3}"
вот нужно составить запрос который бы выводил text если x=NULL иначе выводил бы text с заменой {1} на x, {2} на y, {3} на z
запутался я с этими if и replace, подсобите....
6 фев 16, 05:03    [18780845]     Ответить | Цитировать Сообщить модератору
 Re: raplace в запросе  [new]
Crimean
Member

Откуда:
Сообщений: 13147
declare @a table ( x int , y int , z int , text varchar(20) )

insert into @a ( x, y, z, text ) values( 1, 2, 3, '1: {1} {2} {3}' ) , ( null, null, null, '2: {1} {2} {3}' )

select

case when x is not null and y is not null and z is not null
then replace( replace( replace( text, '{1}', x ), '{2}', y ), '{3}', x )
else text
end as text

from @a
6 фев 16, 05:15    [18780846]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить