SQL decode 函数的用法
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 函数的用法的更多相关文章
- Oracle中NVL、NVL2、DECODE函数的用法
DECODE函数的用法: DECODE(value,if1,then1,if2,then2,if3,then3,......,else),表示如果value的值等于if1时,DECODE函数的结果 ...
- sql中decode(...)函数的用法
相当于if语句 decode函数比较1个参数时 SELECT ID,DECODE(inParam,'beComparedParam','值1' ,'值2') name FROM bank #如果第一个 ...
- oracle的case when的用法和decode函数的用法
oracle中,我们要使用case when时,要怎样使用 如下测试数据,我要把ClassId 的1变成一班,2变成二班,3变成三班,那sql要怎样写呢? 1.case when的用法 -- orac ...
- Oracle DECODE函数的用法详解
Oracle DECODE函数使用方法: 1.比较大小select decode(sign(变量1-变量2),-1,变量1,变量2) from dual; --取较小值sign()函数根据某个值是0. ...
- Oracle 中 nvl、nvl2、nullif、coalesce、decode 函数的用法详解
NVL(EXPR1,EXPR2) NVL2(EXPR1,EXPR2,EXPR3) NULLIF(EXPR1,EXPR2) COALESCE(EXPR1,,..,EXPRn) decode ------ ...
- [Oracle] decode 函数及其用法
http://blog.csdn.net/oscar999/article/details/18399177 前言 DECODE()函数,它将输入数值与函数中的参数列表相比较,根据输入值返回一个对应值 ...
- sql replace()函数的用法
replace()函数的用法: replace('带操作的字符串','被换掉的内容'[要换的内容,可写可不写默认为null]) 先上一张图 下面我门对jxid进行操作: select replace( ...
- oracle decode函数的用法
含义解释: decode(字段,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 用法如下:IF 字段=值1 返回 返回值1ELSIF 字段=值2 返回 返回值2 ......ELSIF ...
- decode 函数及其用法
http://blog.csdn.net/oscar999/article/details/18399177
随机推荐
- IDEA中找不到spring的配置文件,或者不存在某个目录(比如没有src 目录)
比如 项目中src目录找不到了,解决方式为: 这类问题都是设置这儿.
- js——form表单验证
用js实现一个简易的表单验证 效果: 代码: <html> <head> <title>js校验form表单</title> <meta char ...
- 论文写作+gnuplot制图
一:论文写作 论文写作推荐使用LATEX+TEXStudio+TEXLive 1.CTeX官方网站:http://www.ctex.org/HomePage ,他类似于python环境 2.TeXst ...
- _CrtIsValidHeapPointer(pUserData)
程序遇到如题的运行时报错,参考下面这段文字,采取将自定义类的对象定义改为new方式生成后问题解决. !!Expression: _CrtIsValidHeapPointer(pUserData) vo ...
- 「AT1983 BBQ Hard」
呦,来一次久违的BBQ吧! AT题...日本的题库质量一向很高 这题是有关组合数的DP... 前置芝士 快速计算组合数,具体还是自行百度. 膜域下的除法. 具体做法 题目中的问题: \(\sum_{i ...
- MariaDB——备份与恢复
备份和恢复 为什么要备份? 灾难恢复:硬件故障.软件故障.自然灾害.黑客攻击.误操作 测试 要注意的点: 备份需要多少时间 能够容忍多少的数据丢失 恢复数据需要在多长时间完成 ...
- Day10 - C - Blow up the city HDU - 6604
Country A and B are at war. Country A needs to organize transport teams to deliver supplies toward s ...
- php 实现店铺装修2
<?php namespace Webapp\Model; use Common\Model\DataModel\FlagShopCategoryModel; use Common\Model\ ...
- 几款Java模板引擎的性能评测
参评的几款模板引擎为:XMLTemplate(简称XT)Velocity(简称VT)CommonTemplate(简称CT)FreeMarker(简称FT)Smarty4j(简称ST)直接的java代 ...
- 【Luogu2496】【BZOJ3005】[SDOI2012]体育课
把自己去年在luogu写的一个题解搬过来 原题解链接 1. 题目大意 给定一个长度为 \(n\) 的数列 \(a_1,a_2,a_3,...,a_n\) , 并给出 \(m\) 个操作,操作类型如下: ...