PLSQL 检查列值并将其替换为空白
Posted
技术标签:
【中文标题】PLSQL 检查列值并将其替换为空白【英文标题】:PLSQL check for the column value and replace it with blank 【发布时间】:2017-12-07 08:10:17 【问题描述】:有一列名为'Type'
,它将有多个逗号分隔值。
我必须检查它是否包含'Test1','Test2 Test3'
或'Test4'
并将其替换为空白。怎么做?
我尝试在列值中查找这些单词并使用replace
函数,但它没有清除值之前/之后的逗号。
此外,如果我用空格替换逗号,它将在所有值之前和之后得到替换。我还想确保我的代码消耗最少的执行时间,如果我对所有记录一个一个地使用三个不同的更新函数,这显然是不可能的。
【问题讨论】:
"有一列名为 'Type',它将有多个逗号分隔的值。" 那么这是第一个错误。罪孽的代价是不断地用字符串操作函数四处游荡。 【参考方案1】:如果您只想用空白替换匹配的单词(特定值)
SELECT REPLACE('Test1 and Test2','Test1','') "Changes"
FROM DUAL;
如果你想在匹配模式时将整个值替换为空白
SELECT CASE WHEN 'Test1 and Test2' LIKE '%Test1%' THEN '' END
FROM DUAL;
【讨论】:
以上是关于PLSQL 检查列值并将其替换为空白的主要内容,如果未能解决你的问题,请参考以下文章