我正在使用REPLACE
语句替换列中的某些字符串。
update USER_DEFINED_DATA_SETS
set DefaultValue = replace(DefaultValue, 'Area', 'Area_123')
在大多数情况下,它都能正常工作。但是,如果我的列中有Area
和Area_Description
数据DefaultValue
,它将同时替换为Area123
和Area_123_Description
。
Area
并且Area_Description
是不同的。我只想代替Area
而不是Area_Description
。
样本数据
Sno DefaultValue
1 Area
2 Area_Description
3 Area123
4 Equipment
5 Equipment_Name
在上述所有值中,只有第一行(即DefaultValue = Area)应更改为Area123。休息一切都不应改变。我也不能在我的replace语句中放置WHERE DeaultValue ='Area之类的where子句,因为我需要此子句才能适用于所有其他情况,例如Equipment或任何其他情况。
您可以WHERE
在UPDATE
查询中添加条件,以将替换限制为仅出现在DefaultValue
列以Area
,或Area
以独立词开头或结尾的情况。
UPDATE USER_DEFINED_DATA_SETS
SET DefaultValue = REPLACE(DefaultValue, 'Area', 'Area_123')
WHERE DefaultValue LIKE 'Area' OR
DefaultValue LIKE 'Area ' OR
DefaultValue LIKE ' Area ' OR
DefaultValue LIKE ' Area'
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句