【发布时间】:2013-06-07 16:38:11
【问题描述】:
我得到一个像这样的动态字符串(其中一种情况):
'DISTINCT type,NULL,DECODE(java_api_name,NULL,initlower(process(object_name)))
,NULL,field_description,NULL,NULL'
我想删除字符串中的“,NULL”,除了 DECODE 函数中的那个。这是我想要的结果:
'DISTINCT type,DECODE(java_api_name,NULL,initlower(process(object_name)))
,field_description'
更新:这只是一个例子,规则应该是这样的:删除不在任何大括号中的 NULLs
我怎么能得到这个?越简单越好。
【问题讨论】:
-
您想更改文件中的代码或触发器中的代码?你在什么操作系统上?
-
@jimmcnamara 在 PLSQL 过程中。 Oralce 10g,我认为它与操作系统无关。谢谢
-
如果您正在运行 bash 脚本以使用 sed 更正 .sql 脚本。您想更改代码。代码现在在哪里?在文件/程序或数据库中。由于给出的答案都没有涉及实际更改的代码,这就是您所展示的,因此很高兴知道您真正想要什么。
-
@jimmcnamara 不在 bash 脚本中,它在 PL/SQL 包中,想起来简单,只要给你这个字符串作为输入,请实现一个函数返回我想要的字符串。谢谢。