我收到这个警告:
ORA-24347: Warning of a NULL column in an aggregate function
在生产中使用 Oracle 的 MAX()
函数时。我正在使用 OCI 库连接到 Oracle,版本 11.2.0.2。
但是,在测试服务器上,这个错误并没有出现。我对查询进行了硬编码,以便可以将 NULL
值传递给聚合函数。我仍然无法重现此问题。
此警告是否与任何 Oracle 错误相关?谁能提供一些会引发此警告的示例查询?
编辑:
Table: EX_TABLE
Columns:
ID NOT NULL NUMBER
SOME_NUMBER NUMBER
MAX_VAL NUMBER
查询:
select MAX(DECODE(some_number,1,max_val,NULL)) val1
, MAX(DECODE(some_number,2,max_val,NULL)) val2
, MAX(DECODE(some_number,3,max_val,NULL)) val3
from EX_TABLE
最佳答案
您应该使用 0 而不是 NULL 解码值;
select MAX(DECODE(some_number,1,max_val,0)) val1,
MAX(DECODE(some_numer,2,max_val,0)) val2,
MAX(DECODE(some_numer,3,max_val,0)) val3
from EX_TABLE
关于c++ - ORA-24347 : Warning of a NULL column in an aggregate function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11771462/