用LIKE和%替换字符串

时间:2018-10-25 09:03:19

标签: sql sql-server

我的设置表有2列:键,值。两者都是字符串。 我想做的是找到一种聪明的方法来创建一个SQL语句,该语句根据里面的内容更改Value中的字符串。 例如,值可以包含:

'wo,查找,搜索'

OR

“发现,搜索,搜索”

OR

“查找,搜索,哇”

在所有3种情况下,我想做的是使用一个SQL脚本用空字符串替换'wo'。到目前为止,我创建的是:

update Settings set Value = replace(Value, 'wo, ', '') 
where Key = 'SelectFeature'
update Settings set Value = replace(Value, ', wo', '') 
where Key = 'SelectFeature'
update Settings set Value = replace(Value, 'wo', '') 
where Key = 'SelectFeature'

如您所见,它不是很优雅。我可以以某种方式使用运算符LIKE和%来实现吗?预先感谢!

1 个答案:

答案 0 :(得分:0)

仍然不是最好的解决方案,但是最好的方法是

UPDATE
    Settings
SET
    Value = REPLACE(
        REPLACE(
            REPLACE(Value, 'wo, ', ''), ', wo', ''
        ), 'wo', ''
    )
WHERE
    Key = 'SelectFeature'

通过这种方式,您只运行一个查询就可以进行所有更改...更新查询会花费大量的处理时间...