有一列名为'Type'
,它将包含多个逗号分隔值。
我必须检查它是否包含'Test1','Test2 Test3'
或'Test4'
并将其替换为空白。怎么做?
我尝试在列值中找到这些单词并使用replace
函数,但它不会清除值之前/之后的逗号。
此外,如果我用空格替换逗号,它将在所有值之前和之后得到替换。我还想确保我的代码消耗最少的执行时间,如果我逐个为所有记录使用三个不同的更新函数,这显然是不可能的。
答案 0 :(得分:0)
如果您只想用空白
替换匹配的单词(特定值)SELECT REPLACE('Test1 and Test2','Test1','') "Changes"
FROM DUAL;
如果要在匹配模式时将整个值替换为空白
SELECT CASE WHEN 'Test1 and Test2' LIKE '%Test1%' THEN '' END
FROM DUAL;