加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

避免在PostgreSQL中除以零

发布时间:2020-12-13 16:37:32 所属栏目:百科 来源:网络整理
导读:我想在SELECT子句中执行划分。当我加入一些表并使用聚合函数时,我通常将零值或零值作为分隔符。至于现在我只想出了这种避免零和空值除法的方法。 (CASE(COALESCE(COUNT(column_name),1)) WHEN 0 THEN 1ELSE (COALESCE(COUNT(column_name),1)) END) 我想知道
我想在SELECT子句中执行划分。当我加入一些表并使用聚合函数时,我通常将零值或零值作为分隔符。至于现在我只想出了这种避免零和空值除法的方法。
(CASE(COALESCE(COUNT(column_name),1)) WHEN 0 THEN 1
ELSE (COALESCE(COUNT(column_name),1)) END)

我想知道有没有更好的方法呢?

由于count()不返回NULL(与其他聚合函数不同),您只需要捕获0个情况(这是唯一有问题的情况):
CASE count(column_name)
   WHEN 0 THEN 1
   ELSE count(column_name)
END

Quoting the manual about aggregate functions:

It should be noted that except for count,these functions return a null value when no rows are selected.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读