2012-03-01 2 views
1

У меня есть таблица выглядит следующим образом:SQL Server 2008 R2 столбец находкой слова в другой колонке

AV   AVE 
AVENUE  AVE 
AVEAPT  AVE 
APT   # 

Первое слово можно найти и заменить на втором слове.

Мне нужно найти эти слова в поле Адрес в другой таблице и заменить все это?

Каков наилучший способ сделать это?

ответ

0
UPDATE a 
SET Address = REPLACE(Address, r.Word, r.Replacement) 
FROM AddressTable AS a 
JOIN ReplaceTable AS r 
ON a.Address LIKE '%' + r.Word + '%' 
+0

Если в строке есть слово «rte 20 General Delivery», которое также необходимо заменить на «rte 20 Gen Del». будет ли он захватываться между словами? – rsDesigner

+0

@rsDesigner -% в выражении LIKE означает «что угодно», поэтому запрос будет искать Адреса с Word в начале, середине или в конце. Он будет делать это для каждого Слова. – MyItchyChin

Смежные вопросы