有没有办法在使用SQL REPLACE时在字符串中指定位置?

时间:2012-05-25 15:29:34

标签: sql replace

我正在寻找类似于

的东西
UPDATE table 
SET field = REPLACE(field, "findstring", "replacestring");

带位置修饰符。

我需要替换,例如:

从包含wednesday,thursday,friday

的字段中删除“,星期五”

虽然不更改包含thursday,friday,saturday

的字段

并且,如果可能的话,在场地开始时使用相同的情况。

3 个答案:

答案 0 :(得分:0)

为什么不尝试SUBSTR功能?

SUBSTRING_INDEX(field, ',friday', -1)这样的东西可以在MySQL中使用。

答案 1 :(得分:0)

您无需更换即可完成此操作。 。

UPDATE table
SET field = (case when right(field, 7) = ',Friday'
                  then left(field, len(field) - 7)
                  else field
             end)


UPDATE table
SET field = (case when left(field, 7) = 'Friday,'
                  then right(field, len(field) - 7)
                  else field
             end)

答案 2 :(得分:0)

这适用于Microsoft SQL Server。

UPDATE table 
SET field = REPLACE(field, 'friday', 'replacestring')
WHERE RIGHT(field, 6) = 'friday' 
   OR LEFT(field, 6) = 'friday'