Аглая Шниц
Искусственный Интеллект
(137884)
4 года назад
как-то так примерно:
declare @example table (mycolumn varchar(128))
insert into @example values ('Вчера Олег купил много яблок')
insert into @example values ('Вчера Денис купил чуть-чуть мандаринов')
insert into @example values ('Вчера Вася купил кучу морковки')
declare
@delim varchar(128)
set @delim = ' купил '
update @example set
mycolumn = COALESCE(
SUBSTRING(mycolumn, 1, CHARINDEX(@delim, mycolumn)+len(@delim)) +
case
when mycolumn like '%яблок%' then 'яблоки'
when mycolumn like '%морков%' then 'морковь'
end,
mycolumn)
select * from @example
Вопрос к знатокам MS SQL.
Есть много строк. Например:
Вчера Олег купил много яблок
Вчера Денис купил чуть-чуть мандаринов
Вчера Вася купил кучу морковки
И так далее.
Нужно все строки привести к виду:
"Вчера Олег купил яблоки"
"Вчера Денис купил яблоки"
"Вчера Вася купил яблоки".
Про Replace знаю. Но как заменить только часть содержания строки? Например, чтобы после слова "купил" в каждой строке был одинаковый текст, если слово "купил" есть в каждой строке?