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
随机推荐
- ubutun18 install ibus-pinyin
ref: https://www.cnblogs.com/asmer-stone/p/9069866.html Step1 $ sudo apt-get install ibus-pinyin
- 5款微信小程序开发工具使用报告,微信官方开发工具还有待提升
微信小程序已经内测有一段时间了,笔者本着好奇加学习的心态写了几个小demo,虽然在MINA框架上并没有遇到太多的坑,但官方开发工具实在不敢恭维. api提示不全,要一个个查api啊,写代码超级慢啊 很 ...
- Scrapy 框架结构及工作原理
1.下图为 Scrapy 框架的组成结构,并从数据流的角度揭示 Scrapy 的工作原理 2.首先.简单了解一下 Scrapy 框架中的各个组件 组 件 描 述 类 型 EN ...
- keep-alive的使用
<keep-alive>是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM. <router-view>中间为组件</router-view&g ...
- Intent的常用属性之ComponentName
启动activity的另一种方式 在按钮中添加如下代码 ComponentName componentName=new ComponentName(MainActivity.this,NewActiv ...
- sdfsdsf
1 $('.advert-title').each(function(){ 2 var TXTlength = $(this).text().length; // 当前文本的长度 3 if(TXTle ...
- Linux centosVMware df命令、du命令、磁盘分区
一.df命令 df(disk filesystem的简写)用于查看自己挂载磁盘的总容量.使用容量.剩余容量,可以不加任何参数,默认以KB为单位. [root@davery ~]# df文件系统 1K- ...
- 使用redis集群中遇到的错误
一. 上述错误的原因: 1.在redis服务器上关闭防火墙 2.可能是host写错了 上述错误的原因: 配置文件中jedisClient代表的是单机版的redis,但是在类中转化的时候转化的是集群版
- 「Luogu1402」酒店之王
传送门 Luogu 解题思路 网络流板子题. 建图细节见代码,也可以参考这道差不多的题 细节注意事项 咕咕咕. 参考代码 #include <algorithm> #include < ...
- 【React Native错误集】Android error “Could not get BatchedBridge, make sure your bundle is packaged properly” on start of app
问题1:Android error “Could not get BatchedBridge, make sure your bundle is packaged properly” on start ...