如何在Netezza列中替换逃生字符



我试图在Netezza列中替换逃生字符,但不能正确替换。请帮助我一个。

select replace('replacestring','','\\');

我需要输出为replaces\\tring。以下是我收到的错误消息...

错误[42S02]错误:函数'替换(未知,未知,未知(' 不存在无法识别满足给定的函数 参数类型您可能需要添加明确的类型

预先感谢。

这是因为需要安装REPLACE函数(默认情况下不是(。还有另一个称为TRANSLATE的功能,可以以有限的方式而不是REPLACE使用,但不幸的是不适合您的情况。

您可以使用以下查询:

SELECT SUBSTRING(x, 1, INSTR(x, '') - 1) || '\\' || SUBSTRING(x, INSTR(x, '') + LENGTH('')) FROM 
(SELECT 'replacestring' AS x) t
  • 传递给INSTRLENGTH是要替换的字符串。请注意,它们出现在三个位置。
  • 中间的\\是替换字符串。
  • replacestring是要搜索的字符串。

检查以下示例的替换 love > in 我爱Netezza

SELECT SUBSTRING(x, 1, INSTR(x, 'love') - 1) || 'like' || SUBSTRING(x, INSTR(x, 'love') + LENGTH('love')) FROM 
(SELECT 'I love Netezza' AS x) t

该特定函数是" SQL扩展工具包"的一部分,并且在我们的系统上,它放置在SQLEXT数据库的管理模式中。所有用户都被授予执行该模式的访问。此外,数据库已放置在路径中(DBA在全球范围内完成,但是您可以在会话中发出" SET PATH = ..."(如果需要的话((

(

我们的道路是:

select current_path;
CURRENT_PATH
---------------------------------------------------------------------------------------
SQLEXT.ADMIN,INZA.INZA,NZA.INZA,NZM.INZA,NZMSG.INZA,NZR.INZA,NZRC.INZA,SYNCHDB.ADMIN

您可以看到Sqlext在开始...

最新更新