1
我想更換一個領域內的一些文本功能,所以我有以下語句:sql中替換匹配整個單詞
UPDATE INVENTORY
SET INV_DESCRIPTION = REPLACE(INV_DESCRIPTION, '5 ml', '5ml (1/6oz)')
問題在於這樣一個事實:這種說法會替換字符串,如「5毫升''15毫升''150毫升'等,與替換字符串。我希望這個功能匹配全詞,只是找「5毫升」
我想更換一個領域內的一些文本功能,所以我有以下語句:sql中替換匹配整個單詞
UPDATE INVENTORY
SET INV_DESCRIPTION = REPLACE(INV_DESCRIPTION, '5 ml', '5ml (1/6oz)')
問題在於這樣一個事實:這種說法會替換字符串,如「5毫升''15毫升''150毫升'等,與替換字符串。我希望這個功能匹配全詞,只是找「5毫升」
你可以添加一個WHERE
條款,應該讓你很接近:
...Your Current Query...
WHERE INV_DESCRIPTION LIKE '5ml%'
OR INV_DESCRIPTION LIKE '% 5ml%'
這隻會更新與開始記錄5ml
或有5ml
之前有一個空格,這將排除15ml
或25ml
等
這是假設SQL Server。
好的,謝謝這對我很好 – seb
您正在使用哪種數據庫軟件?在Oracle regexp_replace會完成你想要的。 – Samuel
您嘗試更新的整個字段(INV_DESCRIPTION)是什麼樣的?它一致嗎? – Simon
你好Samuel叫做'Pervasive' – seb