zoukankan      html  css  js  c++  java
  • SQL decode 函数的用法

    decode 函数基本语法

    decode(字段|表达式,条件1,结果1,条件2,结果2,...,条件n,结果n,缺省值);
    --缺省值可以省略

     表示如果 字段|表达式 等于 条件1 时,DECODE函数的结果返回 条件1 ,...,如果不等于任何一个条件值,则返回缺省值
    【注意】:decode 函数 ,只能在select 语句用。

    decode 函数 用法

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

    sql 测试:

    1 select empno,
    2        decode(empno,
    3        7369,'smith',
    4        7499,'allen',
    5        7521,'ward',
    6        7566,'jones',
    7        'unknow') as name 
    8 from emp 
    9 where rownum<=10;

    2.使用decode 函数比较大小

    输出两个数中的较小值:

    select decode(sign(var1-var2),-1,var 1,var2) from dual

    示例:

    select decode(sign(100-90),-1,100,90) from dual;

    3.使用decode 函数分段

    设 工资大于等于5000为高薪,大于等于3000且小于5000为中薪,低于3000为低薪 则每个人的工资水平是...?

     1 select e.ename ,e.sal,
     2        decode(sign(e.sal-5000),
     3        1, 'high sal',
     4        0, 'hign sal',
     5        -1,
     6           decode(sign(e.sal-3000),
     7           1, 'mid sal',
     8           0, 'mid sal',
     9           -1,'low sal'
    10              )
    11           )
    12         as "工资等级" 
    13 from scott.emp e;

    (4,5还没掌握)

    4.利用decode实现表或者试图的行列转换

    1 select 
    2    sum(decode(e.ename,upper('smith'),sal,0)) smith,
    3    sum(decode(e.ename,upper('allen'),sal,0)) allen,
    4    sum(decode(e.ename,upper('ward'),sal,0)) ward,
    5    sum(decode(e.ename,upper('jones'),sal,0)) jones,
    6    sum(decode(e.ename,upper('martin'),sal,0)) martin
    7 from scott.emp e ;

    sum 函数的用法 ?

    5.使用decode函数来使用表达式来搜索字符串

    decode函数 比较表达式和搜索字。如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。

    1 select 
    2    sum(decode(e.ename,upper('smith'),sal,0)) smith,
    3    sum(decode(e.ename,upper('allen'),sal,0)) allen,
    4    sum(decode(e.ename,upper('ward'),sal,0)) ward,
    5    sum(decode(e.ename,upper('jones'),sal,0)) jones,
    6    sum(decode(e.ename,upper('martin'),sal,0)) martin
    7 from scott.emp e ;

     转载自https://blog.csdn.net/weeknd/article/details/71157044

  • 相关阅读:
    由高度场求法线
    unity中的透视投影矩阵
    bindpose定义
    blinn-phong高光反向穿透问题
    fft ocean注解
    理顺FFT
    unity, 在image effect shader中用_CameraDepthTexture重建世界坐标
    unity, ComputeScreenPos 作用
    Lambert漫反射的BRDF
    VC++ MFC获取对话框上控件的位置
  • 原文地址:https://www.cnblogs.com/jiaxinwei/p/10252513.html
Copyright © 2011-2022 走看看