c++ - ORA-24347 : Warning of a NULL column in an aggregate function

标签 c++ sql oracle oracle11g aggregate-functions

我收到这个警告:

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/

相关文章:

c# - 为什么 OleDb ExecuteScalar 方法在查询 COUNT 时返回 Decimal?

sql - Oracle 程序与 MS 程序与 Oracle 程序包

c++ - 嵌套数据结构中的STL排序

c++ - 用于树莓派的 C 语言 GPIO 编程

sql - ms-access:通过在上面打印来填写申请

mysql - SQL Select - 搜索词包含 '.'

c++ - 创建 `container< container<Base>>`的STL容器

c++ - 使用 cstdlib 中的 qsort

database - oracle:更新选择前 10 行

R:如何使用RJDBC从oracle数据库下载blob数据?