2012-03-01 95 views
1

R2查找栏的话我有一个表的样子:SQL SERVER 2008的另一列

AV   AVE 
AVENUE  AVE 
AVEAPT  AVE 
APT   # 

第一个字被发现,并通过第二个字代替。

我必须在另一个表格的Address字段中找到这些单词并替换所有这些单词吗?

这样做的最佳方法是什么?

回答

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 2012-03-01 05:34:24

+0

@rsDesigner - LIKE语句中的%表示“任何”,因此查询将在开始,中间或结束时查找包含Word的地址。它会为每个单词做它。 – MyItchyChin 2012-03-01 14:49:37