【发布时间】:2019-05-12 08:34:36
【问题描述】:
我在生产中得到了这个,但无法在测试平台上重现相同的警告消息。
我收到的警告信息是这样的
ORA-24347: Warning of a NULL column in an aggregate function
考虑我将空列传递给聚合函数。
当我在查询工具中运行相同的查询时,我没有收到任何警告消息。
这背后的原理是什么?
【问题讨论】:
-
你能分享你正在使用的查询吗?
-
从 DUAL 中选择 MAX(NULL);我希望这个查询应该显示警告消息,但我没有得到它。
-
我不明白,所以这个查询 select max null 会给你错误
-
是的,我注意到这是一个错误(在 9i 和 10g 中),请尝试与 oracle 支持人员讨论它。你有什么甲骨文版本?
-
ORA-24347 是各种 Oracle 版本的几个不同错误的副作用。因此,您所看到的取决于您的生产环境的某些特性。显然我们无法远程诊断您的系统。如果您的组织不为 Oracle 支持合同付费,您必须自己解决。首先确定您的测试和生产环境之间的不同之处。或者,只需重新编写失败的代码以防空值:Oracle 有很多函数来处理空值:NVL、NVL2、CASE、COALESCE 等