假设是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. go 算法与数据结构

    数据结构 稀疏数组 package main import "fmt" /* 稀疏数组 案例:五子棋存盘与复盘 节省存储空间 */ type ValNode struct { ro ...

  2. XmlDocument vs XElement

    var xmlstr = @"<xml> <AppId>some_appid</AppId> <CreateTime>1413192605&l ...

  3. P3902 递增

    链接:P3902 ----------------------------------------- 这道题就是最长上升子序列的模板题,因为我们修改的时候可没说不能改成小数(暴力) --------- ...

  4. vector内存分配简单介绍

    众所周知,vector的size()其实并不代表它占用的空间,它实际占用空间可以用capacity()查看 众所周知,push_back()时,如果size==capacity则会使capacity从 ...

  5. 剑指offer-面试题32-之字形打印二叉树-二叉树栈

    /* 题目: 分行按层自上向下呈之字形打印二叉树.第一行从左到右,第二行从右到左,第三行从左到右... */ /* 思路: 使用两个栈stack1和stack2. stack1存储从左向右打印的节点, ...

  6. WebDev.WebServer20.exe应用程序错误

    我的.net网页,在iis运行成功,在VS2010调试网页时报一个WebDev.WebServer20.exe应用程序错误. 最后查找资料,发现了网站设置的框架是2.0,在vs2010里不能调试2.0 ...

  7. MySQL 8 mysql system schema

    在大的分类上:mysql schema包括存储数据库对象元数据的数据字典表和用于其他操作目的的系统表 数据字典表和系统表一般使用InnoDB存储引擎 与之前的版本不同,数据字典表和系统表存储在数据目录 ...

  8. 解决问题:当redis服务端断开的时候`进程会崩溃(转载6哥笔记)

    package main import ( "fmt" "github.com/astaxie/beego/logs" "github.com/gar ...

  9. CodeForces - 1107E 区间DP

    和紫书上的Blocks UVA - 10559几乎是同一道题,只不过是得分计算不同 不过看了半天紫书上的题才会的,当时理解不够深刻啊 不过这是一道很好区间DP题 细节看代码 #include<c ...

  10. gulp常用插件之gulp-rev-outdated使用

    更多gulp常用插件使用请访问:gulp常用插件汇总 gulp-rev-outdated这是一款旧的静态资产修订文件过滤器. 我们可以使用gulp rev来缓存一些资产.源文件的每次修改都会导致新的修 ...