假设是a/b
decode(b,0,null,a/b) 这样如果b为0,输出null,不为0输出a/b

decode():将查询结果翻译成其他值,类似三目运算符

比较1个参数时      decode(column,'param','值1' ,'值2')

其中column为要选择的table中所定义的column,

#如果column=='param',则select得到的name显示为值1,

#如果column!='param',则select得到的name显示为值2。

多个参数时

decode(inParam,'para1','值1' ,'para2','值2','para3','值3','para4','值4','para5','值5') name

#如果第一个参数inParam=='para1'那么那么select得到的那么显示为值1;

#如果第一个参数inParam=='para2'那么那么select得到的那么显示为值2;

#如果第一个参数inParam=='para3'那么那么select得到的那么显示为值3;

#如果第一个参数inParam=='para4'那么那么select得到的那么显示为值4;

#如果第一个参数inParam=='para5'那么那么select得到的那么显示为值5;

#都不相等就为''

用处

1.除数为 0

 SELECT
trim(to_char(ROUND(decode(sum(a.QUTANTITY),,null,sum(a.AMOUNT)/sum(a.QUTANTITY)),))) AS CAvgPrice
FROM
POSITION a

2.解决Oracle的数值0.5只显示成.5问题

SELECT decode(substr(l_num,1,1),'.','0'||l_num,l_num) FROM  DUAL;

decode(substr((to_char(b.ReportValue)),0,1),'.','0'||to_char(b.ReportValue),to_char(b.ReportValue)) as Test_Result

SELECT decode(substr(0.5,1,1),'.','0'||.5,0.5) FROM DUAL; 

substr获取该字段的 第一位,
decode判断是否为 “  .  ”      是的话, ‘0’||字段,  拼接;  否   返回 该字段

SELECT regexp_replace(l_num, '^\.', '0.') FROM dual  //也能实现

ORA-01476: 除数为 0的更多相关文章

  1. 成本卷积报错:CSTPSCEX.explode_sc_cost_flags():40:ORA-01476: 除数为 0

    成本卷积请求:供应链成本累计 - 打印报表 运行后报一下错误: MSG-00000: Rollup ID = 236403MSG-00000: Before CSTPSCEX.supply_chain ...

  2. nest exception is java.sql.SQLException:ORA-01476:除数为0

    1.错误描述 nest exception is java.sql.SQLException:ORA-01476:除数为0 2.错误原因 3.解决办法

  3. decode函数解决oracle报错"除数为0"的问题

    公司的网站在运行的时候突然报错打不开了,打开一看发现报了一个错:ORA-01476:除数为0. 网上一搜发现还是挺多人遇到这个问题的,解决办法就是用decode函数. decode是oracle内置的 ...

  4. Oracle 除数为0的处理(decode)

    select   (a/b*100)per   from   aa;      当b为0时,提示除数为0,      本人想当除数为0时,不让系统提示出错,结果显示0即可? 解决:select   d ...

  5. Objective-C:除数为0的情况下异常的处理(检测、抛出、捕捉、处理)

    // DivTest.h // 异常的处理 // // Created by ma c on 15/8/11. // Copyright (c) 2015年. All rights reserved. ...

  6. SSRS 报表开发过程中,除数为0的处理

    这里仅供记录,方法并非原创 在SSRS报表开发过程中,我们经常会遇到除数为0的计算 一般来说,我们都是通过IIF来进行处理,比如: =IIF(B=0,0,A/B) 但实际效果,则是,如果B=0的时候, ...

  7. java.lang.NumberFormatException: Infinite or NaN原因之浮点类型除数为0结果探究

    背景 在对Double类型的数据进行计算操作,将结果转化为BigDecimal时抛出了下面的异常,进行了Debug才发现了问题原因,同时也暴露出了自己在一些基础知识上还有些欠缺. Exception ...

  8. SQL语句中,除数为0时,相应方法

    在sql中做除法处理的时候,可能需要处理除数为零的情况. (1).case语句处理方法是用case when ... else 来处理 (2).nullif函数nullif函数有两个参数,定义如下:N ...

  9. Java中除数为0的情况

    转自http://blog.csdn.net/alanzyy/article/details/8591534 在数学中,规定被除数不能为0 那么在Java程序中一旦出现除数为0时,会出现什么情况呢: ...

随机推荐

  1. beego orm的使用

    在使用beego model 去操作数据库时 有一些疑惑  找到了一个比较好的博文 原文地址 : https://my.oschina.net/u/252343/blog/829912 (Kelvin ...

  2. 码云配合git入门命令总结学习

    目录 码云配合git入门命令总结学习 基本设置 基本命令总结学习 准备工作以及基本思路 基本命令 码云搭建仓库步骤 准备前工作 具体操作方法 远程仓库基本命令 标签相关命令 所有命令总结 基本命令总结 ...

  3. Exception in thread "main" java.lang.NoClassDefFoundError:org/springframework/beans/factory/config/EmbeddedValueResoler

    参考自:https://www.cnblogs.com/quanbin/p/11100337.html 解决方法:检查发现spring的核心包spring-bean版本和其他核心包版本不同,更改为和其 ...

  4. 获取现有Table中某些字段

    //dtH System.Data.DataTable dttemp = new System.Data.DataTable(); DataView tempDv = dtH.DefaultView; ...

  5. fake_useragent-Html-请求头

    fake_useragent HTML请求头 from fake_useragent import UserAgent ua = UserAgent() # 得到ua对象 print(ua.ie) # ...

  6. java9小工具jshell

    1.jshell是jdk9引入的小工具 2.启动jshell 在命令行输入jshell 3.使用jshell 比如定义a=10;b=20;输出a+b的结果,有如下两种方法 方法1:代码写在一行,回车直 ...

  7. Django内置的中间件

    内置中间件 1. django.middleware.gzip.GZipMiddleware:相应数据进行压缩.如果内容长度少于200个长度,那么就不会压缩. 在settings.py文件中配置MID ...

  8. Life Forms[poj3294]题解

    Life Forms Description - You may have wondered why most extraterrestrial life forms resemble humans, ...

  9. 精简Command版SqlHelper

    我在写CSharp程序对数据库进行操作时发现Connection对象起到了连接数据库的做用,实际执行SQL语句使用的是Command对象的方法,所以对SqlHelper进行了重写,具体如下: 一.创建 ...

  10. canvas-文字粒子化(小程序)

    有2张画板,1张渲染文字为获取文字数组,另一张用来渲染粒子根据拿到的数组. step1:渲染文字,根据canvasGetImageData拿到rgba数组 step2:遍历rgba数组拿到粒子的坐标 ...