oracle nvl函数不起作用 统计数据没有返回0

牛Kǎi牛牛牛� 2020-08-18 07:00:31
我根据主键id统计某个数据量 为0的时候让它返回0

nvl这个函数不起作用 这个sql该怎么改
...全文
1850 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
weixin_38931086 2020-10-20
  • 打赏
  • 举报
回复 1
在NVL 里面加个SUM就可以
AHUA1001 2020-09-10
  • 打赏
  • 举报
回复
你NVL里边是COUNT,COUNT不可能返回空,没有数据会返回0。

我对楼主遇到的问题理解是,xfxs可能存在3个值,分别是0100、0200、0300,但是现在表里可能不存在0100的值,希望0100的xfxssl是0,对吧。

csdn上,用图片贴代码,可不是好习惯。

我只能说说怎么改了。
把以上代码COPY出3份,用UNION ALL在一起。
把这3份代码SELECT后的xfxs写死,分别是0100、0200、0300。
把in后边对应的内容,也改成0100、0200、0300。
最后的GROUP BY XFXS可有可无。
这样就可以了。
riven2011 2020-08-19
  • 打赏
  • 举报
回复
去掉nvl就好了啊
nayi_224 2020-08-19
  • 打赏
  • 举报
回复
你写的是全为空时返回0
卖水果的net 2020-08-19
  • 打赏
  • 举报
回复
哪里不起作用了?
lhdz_bj 2020-08-19
  • 打赏
  • 举报
回复
nvl函数的作用是第一个参数为null时,返回第二个参数值,楼主这里没必要用nvl。
select nvl(null,'空') from dual;
select nvl('非空','空') from dual;

3,499

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧