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)
您应该使用 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)