【问题标题】:PLSQL check for the column value and replace it with blankPLSQL 检查列值并将其替换为空白
【发布时间】:2017-12-07 08:10:17
【问题描述】:

有一列名为'Type',它将有多个逗号分隔值。

我必须检查它是否包含'Test1','Test2 Test3''Test4' 并将其替换为空白。怎么做?

我尝试在列值中查找这些单词并使用replace 函数,但它没有清除值之前/之后的逗号。

此外,如果我用空格替换逗号,它将在所有值之前和之后得到替换。我还想确保我的代码消耗最少的执行时间,如果我对所有记录一个一个地使用三个不同的更新函数,这显然是不可能的。

【问题讨论】:

  • "有一列名为 'Type',它将有多个逗号分隔的值。" 那么这是第一个错误。罪孽的代价是不断地用字符串操作函数四处游荡。

标签: oracle plsql


【解决方案1】:

如果您只想用空白替换匹配的单词(特定值)

SELECT REPLACE('Test1 and Test2','Test1','') "Changes" 
FROM DUAL;

如果你想在匹配模式时将整个值替换为空白

SELECT CASE WHEN 'Test1 and Test2' LIKE '%Test1%' THEN '' END 
FROM DUAL;

【讨论】:

    猜你喜欢
    • 2019-06-22
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多