在逗号分隔列表中替换SQL中的单词

时间:2015-06-03 17:37:59

标签: sql replace

我在SQL表中有一个varchar列,其中包含一些用逗号分隔的单词,如:

Col1
man,woman,cat
dog,man,cat
dog,cat,woman,man

我需要用另一个词替换一些词,让我们说替换" man"到了男孩"

但我需要避免出现'#34; man"被替换为另一个词的一部分 - "女人"成为" woboy"

如何在SQL中执行此操作?

UPDATE Table1 SET Col1=??? WHERE ???

1 个答案:

答案 0 :(得分:0)

好的,我确定有更好的方法,但这适用于(对于SQL Server):

UPDATE Table1
SET col1 = SUBSTRING(REPLACE(',' + col1 + ',',',man,',',boy,'),2,
                     LEN(REPLACE(',' + col1 + ',',',man,',',boy,'))-2)
WHERE ',' + col1 + ',' LIKE '%,man,%';