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

Откуда:
Сообщений: 73
Всем привет.
Есть ли возможность использовать табличную переменную в функции replace?

declare @p table (col nvarchar(10) COLLATE Cyrillic_General_BIN)
declare @t nvarchar(10) 

set @t='Некая организация ТОВ'
insert @p values ('ГмбХ'),('ТРАК'),('ТОВ')

select replace(@t,col,'')
10 апр 17, 09:46    [20383738]     Ответить | Цитировать Сообщить модератору
 Re: Использование табличной переменной в REPLACE  [new]
o-o
Guest
что на что реплэйсим?
а так-то да, чего бы и не использовать
declare @t table (col varchar(100));
insert into @t values ('aabb'), ('aacc');

declare @c varchar(100) = 'd';
select col,replace(col, 'a', @c) as repl_col
from @t;
----------------
col	repl_col
aabb	ddbb
aacc	ddcc
10 апр 17, 10:27    [20383923]     Ответить | Цитировать Сообщить модератору
 Re: Использование табличной переменной в REPLACE  [new]
Aleksey br
Member

Откуда:
Сообщений: 73
o-o
replace(col, 'a', @c) as repl_col


нужно наоборот: заменять значени из поля переменной типа table (или значения из поля таблицы - не принципиально) на что-то другое.

declare @t table (col1 varchar(100));
insert into @t values ('aabb'), ('aacc'), ('ddcc');

declare @d table (col2 varchar(5));
insert into @d values ('aa'), ('dd');

select col1,replace(col1, @d.col2, '') as repl_col
from @t;
10 апр 17, 11:01    [20384095]     Ответить | Цитировать Сообщить модератору
 Re: Использование табличной переменной в REPLACE  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
Aleksey br,

нифига не ясно что же надо...

select col1,replace(col1, b.col2, '') as repl_col
from 
	@t a
CROSS JOIN
	@d b	
10 апр 17, 11:04    [20384115]     Ответить | Цитировать Сообщить модератору
 Re: Использование табличной переменной в REPLACE  [new]
o-o
Guest
как можно заменять (одно) значение поля на *тучу* значений из какой-то таблицы?
покажите исходные данные и _что_хотите_получить_ в результате
10 апр 17, 11:11    [20384156]     Ответить | Цитировать Сообщить модератору
 Re: Использование табличной переменной в REPLACE  [new]
invm
Member

Откуда: Москва
Сообщений: 9396
Aleksey br
нужно наоборот
declare @p table (col nvarchar(10) COLLATE Cyrillic_General_BIN)
declare @t nvarchar(100) 

set @t='Некая организация ТОВ'
insert @p values ('ГмбХ'),('ТРАК'),('ТОВ')

select @t;

update @p
 set @t = replace(@t,col,'');

select @t;
10 апр 17, 11:12    [20384166]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить