decode 函数基本语法

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

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

decode 函数 用法

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

sql 测试:

 select empno,
decode(empno,
7369,'smith',
7499,'allen',
7521,'ward',
7566,'jones',
'unknow') as name
from emp
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为低薪 则每个人的工资水平是...?

 select e.ename ,e.sal,
decode(sign(e.sal-5000),
1, 'high sal',
0, 'hign sal',
-1,
decode(sign(e.sal-3000),
1, 'mid sal',
0, 'mid sal',
-1,'low sal'
)
)
as "工资等级"
from scott.emp e;

(4,5还没掌握)

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

 select
sum(decode(e.ename,upper('smith'),sal,0)) smith,
sum(decode(e.ename,upper('allen'),sal,0)) allen,
sum(decode(e.ename,upper('ward'),sal,0)) ward,
sum(decode(e.ename,upper('jones'),sal,0)) jones,
sum(decode(e.ename,upper('martin'),sal,0)) martin
from scott.emp e ;

sum 函数的用法 ?

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

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

 select
sum(decode(e.ename,upper('smith'),sal,0)) smith,
sum(decode(e.ename,upper('allen'),sal,0)) allen,
sum(decode(e.ename,upper('ward'),sal,0)) ward,
sum(decode(e.ename,upper('jones'),sal,0)) jones,
sum(decode(e.ename,upper('martin'),sal,0)) martin
from scott.emp e ;

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

SQL decode 函数的用法的更多相关文章

  1. Oracle中NVL、NVL2、DECODE函数的用法

    DECODE函数的用法:   DECODE(value,if1,then1,if2,then2,if3,then3,......,else),表示如果value的值等于if1时,DECODE函数的结果 ...

  2. sql中decode(...)函数的用法

    相当于if语句 decode函数比较1个参数时 SELECT ID,DECODE(inParam,'beComparedParam','值1' ,'值2') name FROM bank #如果第一个 ...

  3. oracle的case when的用法和decode函数的用法

    oracle中,我们要使用case when时,要怎样使用 如下测试数据,我要把ClassId 的1变成一班,2变成二班,3变成三班,那sql要怎样写呢? 1.case when的用法 -- orac ...

  4. Oracle DECODE函数的用法详解

    Oracle DECODE函数使用方法: 1.比较大小select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值sign()函数根据某个值是0. ...

  5. Oracle 中 nvl、nvl2、nullif、coalesce、decode 函数的用法详解

    NVL(EXPR1,EXPR2) NVL2(EXPR1,EXPR2,EXPR3) NULLIF(EXPR1,EXPR2) COALESCE(EXPR1,,..,EXPRn) decode ------ ...

  6. [Oracle] decode 函数及其用法

    http://blog.csdn.net/oscar999/article/details/18399177 前言 DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值 ...

  7. sql replace()函数的用法

    replace()函数的用法: replace('带操作的字符串','被换掉的内容'[要换的内容,可写可不写默认为null]) 先上一张图 下面我门对jxid进行操作: select replace( ...

  8. oracle decode函数的用法

    含义解释: decode(字段,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 用法如下:IF 字段=值1 返回 返回值1ELSIF 字段=值2 返回 返回值2 ......ELSIF ...

  9. decode 函数及其用法

    http://blog.csdn.net/oscar999/article/details/18399177

随机推荐

  1. centos7搭建svn服务器及客户端设置

    centos7搭建svn服务器及客户端设置 centos7貌似预装了svn服务(有待确认),因此我们直接启动该服务即可 一.svn服务端配置(服务器IP假设为192.168.100.1) 步骤1:创建 ...

  2. 五、centos7安装mysql:安装mysqlser

    一.下载通用安装二进制包 先下载mysql安装包:打开 http://dev.mysql.com/downloads/mysql/ 选择 linux - Generic并在其下选择 Linux - G ...

  3. UIWindow的获取

    注意:还是直接用下面这个比较靠谱.尤其是iOS11之后. [UIApplication sharedApplication].keyWindow;   1.下面这种是比较严谨的方式 - (UIWind ...

  4. Python用户界面编程PyQt5的四种的布局方式

    1.QT是C++编写的跨平台GUI库,GUI是指桌面程序应用. 2.开发基于pyqt5的桌面应用程序必须要使用两个类Qapplication和Qwidget类,都在PyQt5.Qt.widgets里面 ...

  5. 课堂测试用javaweb写一个注册界面,并将数据保存到后台数据库(部分完成)

    今天我到现在为止,也只完成了数据库的连接,还没有写前台的javascript的检查输入的代码,打算周四前完成. 代码如下: package Dao; import java.sql.Connectio ...

  6. 三星 S10 运行 Ubuntu 系统

    导读 DeX 是一种模仿桌面操作系统的用户 UI 界面,把支持 DeX 的三星手机用数据线连上外置显示器,用户就可以获得一种类似桌面系统的使用体验. 三星 S8.Note 8.S9.Note 9.S1 ...

  7. Js 获取当前日期时间及其它操作(转)

    Js获取当前日期时间及其它操作 var myDate = new Date();myDate.getYear();        //获取当前年份(2位)myDate.getFullYear();   ...

  8. 将varchar2类型字段改成clob类型

     --增加临时新字段alter table base_temp add temp clob; --将需要改成大字段的项内容copy到大字段中update base_temp  set temp=con ...

  9. English-Number

    English-Number 1. 基数与序数 2. 数量级前缀 3. 与数量级前缀连用的常用单位 4. 数量的完整写法式例 5. 数学符号 6. 其他常用单位 7. 数字的用法 7.1 日期时间 7 ...

  10. Kubernetes——YAML文件

    kubernetes——yaml文件的编写yaml文件的结尾后缀名.yaml或者.yml都能够识别.yaml文件就像脚本一样,可以放在任意的位置.编写yaml文件需要用到的帮助手册的查看: kubec ...