我在SQL表中有一个varchar列,其中包含一些用逗号分隔的单词,如:
Col1
man,woman,cat
dog,man,cat
dog,cat,woman,man
我需要用另一个词替换一些词,让我们说替换" man"到了男孩"
但我需要避免出现'#34; man"被替换为另一个词的一部分 - "女人"成为" woboy"
如何在SQL中执行此操作?
UPDATE Table1 SET Col1=??? WHERE ???
答案 0 :(得分:0)
好的,我确定有更好的方法,但这适用于(对于SQL Server):
UPDATE Table1
SET col1 = SUBSTRING(REPLACE(',' + col1 + ',',',man,',',boy,'),2,
LEN(REPLACE(',' + col1 + ',',',man,',',boy,'))-2)
WHERE ',' + col1 + ',' LIKE '%,man,%';