文档解释
ORA-24347: Warning of a NULL column in an aggregate function
Cause: A null column was processed by an aggregate function
Action: An OCI_SUCCESS_WITH_INFO is returned.
ORA-24347错误是由于在使用聚合函数时对包含空值的列进行聚合运算而间接产生的错误。
官方解释
ORA-24347 在使用聚合函数时,使用了一个值为NULL的列 。
常见案例
当SQL语句中使用聚合函数,比如SUM()、AVG()、MIN()、MAX()时,如果该列存在NULL值,则出现ORA-24347的错误。
一般处理方法及步骤
1. 确认出错的SQL脚本,以及可能导致该错误的参数。
2. 使用IS NULL或IS NOT NULL条件语句,该条件可以过滤掉NULL值,例如,当想算出salary列数据的合计时,可以先筛选出不为空的值,再进行合计计算,例如:
SELECT SUM(salary) FROM EMP WHERE salary IS NOT NULL;
3. 改变聚合函数,例如可以把SUM()函数改为COALESCE,这样NULL值就可以正常使用,例如:
SELECT COALESCE(SUM(salary),0) FROM EMP;