2011-06-27 133 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