ORA-24347: 聚合函数中出现 NULL 列的警告

Vij*_*nth 6 c++ sql oracle aggregate-functions oracle11g

我收到此警告:

ORA-24347: Warning of a NULL column in an aggregate function
Run Code Online (Sandbox Code Playgroud)

MAX()在生产中使用 Oracle 的功能时。我正在使用 OCI 库连接到版本 11.2.0.2 的 Oracle。

但是,在测试服务器上,不会出现此错误。我已经对查询进行了硬编码,以便将NULL值传递给聚合函数。我仍然无法重现这个问题。

此警告是否与任何 Oracle 错误有关?任何人都可以提供一些会引发此警告的示例查询吗?

编辑:

Table: EX_TABLE
Columns:
ID NOT NULL NUMBER
SOME_NUMBER NUMBER
MAX_VAL NUMBER
Run Code Online (Sandbox Code Playgroud)

询问:

ORA-24347: Warning of a NULL column in an aggregate function
Run Code Online (Sandbox Code Playgroud)

Sam*_*son 1

您应该使用 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
Run Code Online (Sandbox Code Playgroud)