当前位置:首页 >百科 >SQL中如何处理除数为0的情况? 经常会遇到求百分比

SQL中如何处理除数为0的情况? 经常会遇到求百分比

2024-06-29 07:53:07 [百科] 来源:避面尹邢网

SQL中如何处理除数为0的何处情况?

作者:丶平凡世界 运维 数据库运维 我们在进行数据统计的时候,经常会遇到求百分比,理除环比,何处同比等这些需要除以某个数的理除情况,而如果除数为0,何处数据库是理除会报错的。

[[418171]]

本文转载自微信公众号「SQL数据库开发」,何处作者丶平凡世界。理除转载本文请联系SQL数据库开发公众号。何处

问题

我们在进行数据统计的理除时候,经常会遇到求百分比,何处环比,理除同比等这些需要除以某个数的何处情况,而如果除数为0,理除数据库是何处会报错的。

SQL中如何处理除数为0的情况? 经常会遇到求百分比

那么遇到这样的情况我们怎么处理呢?下面我们用示例给大家讲解一下处理方法。

SQL中如何处理除数为0的情况? 经常会遇到求百分比

解决办法

情况一

SQL中如何处理除数为0的情况? 经常会遇到求百分比

例如

  1. SELECT  A/B  FROM TAB 

遇到这样的情况,一般的处理方法是用CASE WHEN来判断B的值

  1. SELECT  
  2. CASE WHEN B=0 THEN 0 ELSE A/B END   
  3. FROM TAB 

这样当B如果是0,我们直接赋一个值,避免A/B参与计算报错。

情况二

上面是一种常见的情况,但是如果遇到下面这样的聚合函数呢?

例如

  1. SELECT  SUM(A)/COUNT(B) FROM TAB 

遇到这样的情况CASE WHEN 是不能判断COUNT(B)的值的,因为WHEN后面的条件不能使用聚合函数(语法要求),这个时候我们可以这样处理

  1. SELECT   
  2. ISNULL(SUM(A)/NULLIF(COUNT(B),0),0)   
  3. FROM  TAB 

其中这里使用了两个函数,NULLIF()和ISNULL()

NULLIF函数有两个参数,定义如下:

NULLIF( expression1 , expression2 )

其作用就是:如果两个指定的表达式相等,就返回NULL值。

ISNULL函数也有两个参数,定义如下:

ISNULL( expression1 , expression2 )

其作用是:如果第一个参数的结果为NULL,就返回第二个参数的值。

当COUNT(B)的结果为0时,恰好与第二个给定的参数0相等,这个时候NULLIF函数就会返回NULL,而SUM(A)在除以NULL时结果为NULL,外层使用ISNULL函数再对NULL值进行判断,这样最终结果就是0了。

这两种方法就是我们日常处理除数为0的情况了,一定要记得哦!

 

责任编辑:武晓燕 来源: SQL数据库开发 SQL除数统计

(责任编辑:知识)

    推荐文章
    • 学校的社保卡要注销吗 注销必须要到窗口吗?

      学校的社保卡要注销吗 注销必须要到窗口吗?在如今,很多人上大学的时候都会买医疗保险,所以都会有一张社保卡,等到毕业以后,就想注销学校的社保卡,那么学校的社保卡要注销吗?学校的社保卡怎么注销?下文就来带大家了解一下。学校的社保卡一般不用注销的, ...[详细]
    • 岚图汽车10月交付突破6000辆 累计销量较同期增长107% -

      岚图汽车10月交付突破6000辆 累计销量较同期增长107% -【智车派新闻】随着11月份到来,各大汽车厂商将陆续公布10月份交付情况。11月1日,智车派从岚图汽车官方了解到,岚图10月交付首次突破6000辆,1-10月累计销量较同期增长107%。据了解,截至10 ...[详细]
    • 微软写了份GPT

      微软写了份GPT微软写了份GPT-4V说明书:166页讲解又全又详细,提示词demo示例一应俱全作者:克雷西 萧箫 2023-10-05 12:16:37人工智能 新闻 这篇论文的作者也是“全华班”,7名作者全部是华 ...[详细]
    • 万胜盘前必读

      万胜盘前必读文章目录,各位股友按需拖动查看,创作不易关注不迷路,VIP有更多核心内容分享!!!观点限时折扣活动1天,进入万胜主页点击右下角即可完成订阅)1、万胜解盘2、市场重要咨询汇总3、昨日涨停复盘4、龙虎榜5 ...[详细]
    • 华润集团一季度经营业绩实现稳步开局 新动能业务加速发力

      华润集团一季度经营业绩实现稳步开局 新动能业务加速发力2022年第一季度,华润集团营业收入和净利润继续保持增长,经营质量持续提升,新动能业务加速发力,一季度华润集团营业额增长8%,净利润在央企排名第10位。今年以来,华润集团坚持稳字当头、稳中求进总基调, ...[详细]
    • 作为开发人员,这款生产力工具你有必要了解一下

      作为开发人员,这款生产力工具你有必要了解一下作为开发人员,这款生产力工具你有必要了解一下作者:老王说代码 2023-10-19 14:59:54开发 开发工具 近些年来,低代码的发展趋势可谓是蒸蒸日上!当然,热门的技术总会伴随着质疑的声音,诞生 ...[详细]
    • 英伟达开始执行美国新规:一大波儿芯片停供

      英伟达开始执行美国新规:一大波儿芯片停供10月25日消息,美国对AI芯片出口管制升级的同时,英伟达也是第一时间做出了相应,其没有像以前那样给出30天作为缓冲期。根据英伟达提交给美国SEC的文件,上周公布的出口限制改为立即生效,影响适用于“总 ...[详细]
    • 灵动全面 TCL全面屏体验沉浸影院感官体验

      灵动全面 TCL全面屏体验沉浸影院感官体验880U是TCL今年全新推出的一款超值全面屏电视,主打全新视野,全面呈现理念。880U是TCL今年全新推出的一款超值全面屏电视,主打全新视野,全面呈现理念。A880U采用全面屏美学设计,整机厚度只有7 ...[详细]
    • 芝加哥农产品期价4日涨跌不一 大豆5月合约涨幅为0.21%

      芝加哥农产品期价4日涨跌不一  大豆5月合约涨幅为0.21%芝加哥期货交易所玉米、小麦和大豆期价4日涨跌不一。当天,芝加哥期货交易所玉米市场交投最活跃的5月合约收于每蒲式耳5.325美元,比前一交易日下跌2.75美分,跌幅为0.51%;小麦5月合约收于每蒲式耳 ...[详细]
    • 多家互联网平台宣布推出大V前台实名 包括抖音微博B站 -

      多家互联网平台宣布推出大V前台实名 包括抖音微博B站 -【CNMO新闻】随着网络技术的不断发展,自媒体已成为人们获取和传播信息的重要渠道。然而,一些自媒体账号在发布信息时存在不负责任、虚假宣传等问题,也给网络空间和社会秩序带来了一定的负面影响。而近日,CN ...[详细]
    热点阅读