假设是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. AGC011-C Squared Graph

    题意 给定一个\(n\)个点\(m\)条边的图,构建一个\(n^2\)个点的图,新图的每个点都可以看成一个二元组,新图上的点\((a,b)和(a′,b′)\)之间有边,当且仅当原图中\((a,a′), ...

  2. IntelliJ IDEA 更新

    一. 下载最新版本的idea 1. 官网下载,官网地址:http://www.jetbrains.com/idea/download/#section=windows 2. 百度网盘直接下载:http ...

  3. vs2015 编译boost库

    1.下载boost官网安装包. https://dl.bintray.com/boostorg/release/1.66.0/binaries/ 注意:这里一定要选择好boost版本 如:  boos ...

  4. vue(六)--计算属性(computed)

    计算属性关键词: computed demo1: <div id="app"> <p>原始字符串: {{ message }}</p> < ...

  5. 纪中21日T3 2118. 【2016-12-30普及组模拟】最大公约数

    纪中21日T3 2118. 最大公约数 (File IO): input:gcd.in output:gcd.out 时间限制: 1000 ms  空间限制: 262144 KB  具体限制 Goto ...

  6. PHP0001:PHP环境搭建

    1,本机域名解析 网站域名访问流程 配置阿帕奇服务器 的 路径 阿帕奇中添加 PHP 支持 一个简单的PHP 代码 检测PHP apache 语法   httpd -t apache 的启动 获取网站 ...

  7. Spark kafka flume

    Flume Flume 是一个分布式.可靠.和高可用的海量日志聚合的系统,支持在系统中定制各类数据发送方,通过监控整个文件目录或者某一个特定文件,用于收集数据:同时Flume也 提供数据写到各种数据接 ...

  8. F.Three pahs on a tree

    思路 两次bfs找出树的直径并处理出端点离树上各叶子节点的距离,在直径上找一点的子树叶子p3,使得dis(p1,p2) + dis(p2,p3) + dis(p1,p3)最大 易知上式是路径实长的两倍 ...

  9. H5 meta标签常用写法

    <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content=" ...

  10. [ERR] Node goodsleep.vip:6379 is not empty. Either the node already knows other nodes (check with CLUSTER NODES) or contains some key in database 0.

    解决方案 以前的cluster节点信息 保留 要删除 dump.rdb node.conf集群启动时自动生成文件