【问题标题】:Replace a word in SQL in comma separated list在逗号分隔列表中替换 SQL 中的单词
【发布时间】:2015-08-18 01:44:11
【问题描述】:

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

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

我需要用另一个词替换一些单词,比如说将“man”替换为“boy”

但我需要避免“男人”被替换为另一个词的一部分 - “女人”变成“女人”

如何在 SQL 中做到这一点?

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

【问题讨论】:

标签: sql replace


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-19
    • 2020-07-18
    • 2020-01-21
    • 2014-07-29
    • 2018-08-07
    • 2012-04-09
    • 2016-10-24
    相关资源
    最近更新 更多