zoukankan      html  css  js  c++  java
  • oracle nvl nvl2 decode

    ----------------------------------------------------------------------------------
    NVL(E1, E2)
    如果 E1 为 null , 返回 E2。
    如果 E1 不是 null ,则返回 E1。
    如果 E1 与 E2 都为 null ,返回 .NULL.。
    E1 和 E2 可以是任意一种数据类型。

    ----------------------------------------------------------------------------------

    NVL2(E1, E2, E3)

    如果E1为NULL,则函数返回E3,若E1不为null,则返回E2。

    ----------------------------------------------------------------------------------
    decode 的几种用法

    1.使用decode判断字符串是否一样

    DECODE(value,if 条件1,then 值1,if 条件2,then 值2,...,else 其他值)

    Sql测试:

    select aac001,decode(aac001,'0000000001','林海燕','0000000002','陈德财','others') as name from ac01 where rownum<=5;

    输出结果:

    使用decode判比较大小
    Select decode(sign(var1-var2),1,var1,var2) from dual

    Sign()函数根据某个值是0、正数、负数,分别返回0、1、-1;

    Sql测试:

    Select decode(sign(100-90),1,100,90) from dual

    输出结果 :100

    100-90=10>0则sign()返回1,decode()函数取值var1=100

    Select decode(sign(100-90),-1,100,90) from dual

    输出结果:90

    100-90=10>0则sign()返回1,decode()函数取值var2=100

    使用decode函数分段
    工资大于10000为高薪,工资介于5000到10000为中等,工资小于5000位低薪

    Sql测试:

    SELECT

    ename,sal,

    DECODE(SIGN(sal-10000),1,’高薪’,0,’高薪’,

    -1,DECODE(SIGN(sal-5000),1’中等’,0,’中等’,

    -1,’低薪’))) from ac01

    输出结果:

    李明 12000 高薪

    张三 5000 中等

    王五 3000 低薪

  • 相关阅读:
    git 初始化与使用
    java解析webservice服务返回的xml
    计算时间天数
    XML和Java bean转换
    微信公众号-企业
    docker安装openldap
    webservice使用
    idea解决冲突插件
    Java--JSON嵌套JSON中带''字符的解决方式
    微信公众号开发
  • 原文地址:https://www.cnblogs.com/rdchen/p/11321426.html
Copyright © 2011-2022 走看看