从Oracle中的SQL脚本调用函数

时间:2018-09-27 07:55:36

标签: oracle function

在这段代码中,我将调用此FSG.REPLACE_STRING函数,该函数具有2个参数,即原始字符串和特殊字符串。原始字符串是来自表的选择查询,特殊字符串为'A'。

我已经编写了代码:

FSG.REPLACE_STRING ( (SELECT CAST(NVL(PRAD_ID            , ' ') AS CHAR(12))
FROM FSG_WRK.FSG_PRCB_AUXDB_PRAD WHERE PRAD_ID= '003204091007'), A );

但这不起作用。

1 个答案:

答案 0 :(得分:2)

您正在尝试将表列值传递给函数,因此您需要重组语句:

SELECT FSG.REPLACE_STRING (CAST(NVL(PRAD_ID, ' ') AS CHAR(12)), 'A')
FROM FSG_WRK.FSG_PRCB_AUXDB_PRAD
WHERE PRAD_ID= '003204091007';

尽管NVL()部分似乎毫无意义,如果您要在查询中过滤特定的(非null)值。投射到char看起来也很可疑。