2012-03-01 88 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