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 检查列值并将其替换为空白的主要内容,如果未能解决你的问题,请参考以下文章

用 <p> 标签替换 textarea 中的空行并将其显示为 HTML 有效代码

根据 NaN 将列值替换为 0 或 1 [重复]

检查一个大文件 .csv 并替换,并将其分类在一列中

如何用同一数据框中其他列的实际列值替换一列中的字符串值?

将列值从“男性”替换为“女性”,将“女性”替换为“男性”

找到某些单词并替换它们