nvl(sum())与sum(nvl())在统计的时候,那个准确?
展开全部
oracle sum(nvl())可能和nvl(sum())查到的结果不同,例如:
SQL> create table test_yct(a number);
表已创建。
SQL> select sum(nvl(a, 0)) from test_yct;
SUM(NVL(A,0))
-------------
SQL> select nvl(sum(a), 0) from test_yct;
NVL(SUM(A),0)
-------------
0
结论,nvl需要放在外面,否则出现查到null值,可能会导致应用程序报错。
SQL> create table test_yct(a number);
表已创建。
SQL> select sum(nvl(a, 0)) from test_yct;
SUM(NVL(A,0))
-------------
SQL> select nvl(sum(a), 0) from test_yct;
NVL(SUM(A),0)
-------------
0
结论,nvl需要放在外面,否则出现查到null值,可能会导致应用程序报错。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
sum(nvl()),推荐使用sum(nvl())
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询