2011-06-27 171 views
1

我想更換一個領域內的一些文本功能,所以我有以下語句:sql中替換匹配整個單詞

UPDATE INVENTORY 
SET INV_DESCRIPTION = REPLACE(INV_DESCRIPTION, '5 ml', '5ml (1/6oz)') 

問題在於這樣一個事實:這種說法會替換字符串,如「5毫升''15毫升''150毫升'等,與替換字符串。我希望這個功能匹配全詞,只是找「5毫升」

+0

您正在使用哪種數據庫軟件?在Oracle regexp_replace會完成你想要的。 – Samuel

+0

您嘗試更新的整個字段(INV_DESCRIPTION)是什麼樣的?它一致嗎? – Simon

+0

你好Samuel叫做'Pervasive' – seb

回答

3

你可以添加一個WHERE條款,應該讓你很接近:

...Your Current Query... 
WHERE INV_DESCRIPTION LIKE '5ml%' 
OR INV_DESCRIPTION LIKE '% 5ml%' 

這隻會更新與開始記錄5ml或有5ml之前有一個空格,這將排除15ml25ml

這是假設SQL Server。

+0

好的,謝謝這對我很好 – seb