替代替换

塔努

我正在使用REPLACE语句替换列中的某些字符串。

update USER_DEFINED_DATA_SETS
set DefaultValue = replace(DefaultValue, 'Area', 'Area_123') 

在大多数情况下,它都能正常工作。但是,如果我的列中AreaArea_Description数据DefaultValue,它将同时替换为Area123Area_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或任何其他情况。

蒂姆·比格莱森(Tim Biegeleisen)

您可以WHEREUPDATE查询中添加条件,以将替换限制为仅出现在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] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章