Function 在DB29.7上找不到标量函数NLV2

Function 在DB29.7上找不到标量函数NLV2,function,db2,Function,Db2,我正在使用DB2V9.7.11。我在IBM DB2LUW的官方文档(版本为9.7)中找到了标量函数NVL2。但当我在sql语句中使用此函数时,它返回: No authorized routine named "NVL2" of type "FUNCTION" having compatible arguments was found. SQLCODE=-440, SQLSTATE=42884, DRIVER=4.23.42 官方文件有错误吗?还是需要做一

我正在使用DB2V9.7.11。我在IBM DB2LUW的官方文档(版本为9.7)中找到了标量函数
NVL2
。但当我在sql语句中使用此函数时,它返回:

No authorized routine named "NVL2" of type "FUNCTION" having compatible arguments was found. SQLCODE=-440, SQLSTATE=42884, DRIVER=4.23.42

官方文件有错误吗?还是需要做一些操作?希望有人能帮忙。谢谢

NVL2
采用三个参数,例如

VALUES NVL2(1,2,3)
返回

2
如果你用两个或更少的数字来调用它,你会得到你发布的错误消息


因此,除非您显示SQL,否则我怀疑您调用SQL的参数数量不正确。

请编辑您的问题以添加事实。(1) 显示正在使用
NVL2
函数的SQL代码,以及(2)显示应用fp11后对数据库运行
db2updv97
的证据。我确信我使用此函数的方式与文档中所述完全一致。即使我复制您的语句来执行,我仍然会得到相同的错误。可能尝试
VALUES SYSIBM.NVL2(1,2,3)
否则,对数据库运行
db2updv97
,因为该函数可能是在某个补丁包中出现的,但您尚未运行更新来启用新函数我运行了该命令,并获得了“数据库“xxxx”的db2updv97已成功完成。“。但我仍然不能使用nvl2:
SQL0440N没有“函数”类型的名为“nvl2”的授权例程“发现具有兼容的参数。SQLSTATE=42884
我不确定是否能帮上忙。我没有安装DB29.7来测试其可能性。9.7长期不受支持,因此我建议升级到受支持的版本,同时只使用用例,或者创建自己的实现NVL2逻辑的SQL UDF。您甚至可以调用isnvl2,如果它位于函数路径的模式中,您也可以在内置版本中使用它