在 netezza 中不使用正则表达式替换字符串

Replacing a string without using regular expression in netezza

有什么方法可以在不使用正则表达式函数的情况下替换 netezza sql 中的字符串(即 regexp_replace()) 例如: 替换('perfect','fect','fume')

TIA

如果您安装了 SQL 扩展工具包,那么您可以使用:

select sql_functions..replace('prefect', 'fect', 'fume')

如果没有 SQL 扩展工具包,您只能使用 substrinstr 函数。您可能需要多次 运行 它们,具体取决于相关字符串的重复出现。下面是一个例子:

    select substr(a.txt,1,instr(a.txt,'fect')-1)
          ||'fume'
          ||substr(a.txt,instr(a.txt,'fect')+length('fect'),255)
    from (select 'perfect' as txt) a