java decode函数用法_decode函数的几种用法
1:使用decode判断字符串是否一样
DECODE(value,if1,then1,if2,then2,if3,then3,...,else)
含义为
IF 条件=值1 THEN
RETURN(value 1)
ELSIF 条件=值2 THEN
RETURN(value 2)
......
ELSIF 条件=值n THEN
RETURN(value 3)
ELSE
RETURN(default)
END IF
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,var1,var2) from dual
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
select decode(sign(100-90),-1,100,90) from dual
select decode(sign(100-90),1,100,90) from dual
3:使用decode函数分段
工资大于5000为高薪,工资介于3000到5000为中等,工资小于3000为低薪
SELECT
ename,sal,
DECODE(SIGN(sal - 5000),
1,
'high sal',
0,
'high sal',
- 1,
DECODE(SIGN(sal - 3000),
1,
'mid sal',
0,
'mid sal',
- 1,
DECODE(SIGN(sal - 1000),
1,
'low sal',
0,
'low sal',
- 1,
'low sal')))
FROM
emp
4:利用decode实现表或者视图的行列转换
SELECT
SUM(DECODE(ENAME,'SMITH',SAL,0)) SMITH,
SUM(DECODE(ENAME,'ALLEN',SAL,0)) ALLEN,
SUM(DECODE(ENAME,'WARD',SAL,0)) WARD,
SUM(DECODE(ENAME,'JONES',SAL,0)) JONES,
SUM(DECODE(ENAME,'MARTIN',SAL,0)) MARTIN FROM EMP
5:使用decode函数来使用表达式来搜索字符串
decode (expression, search_1, result_1, search_2, result_2, ...., search_n, result_n, default)
decode函数比较表达式和搜索字,如果匹配,返回结果;如果不匹配,返回default值;如果未定义default值,则返回空值。
SELECT
ENAME,
SAL,
DECODE(INSTR(ENAME, 'S'),
0,
'不含有s',
'含有s') AS INFO
FROM
EMP
比如我要查询某班男生和女生的数量分别是多少?
通常我们这么写:
select count(*) from 表 where 性别 = 男;
select count(*) from 表 where 性别 = 女;
要想显示到一起还要union一下,太麻烦了
用decode呢,只需要一句话
select sum(decode(性别,男,1,0)),sum(decode(性别,女,1,0)) from 表
java decode函数用法_decode函数的几种用法相关推荐
- python decode函数的用法_decode函数的用法
DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能.DECODE有什么用途呢? 先构造一个例子,假 ...
- Sql语句Convert函数获取时间格式的一种用法
Sql语句查询某种时间格式 通过convert函数处理查询结果 这是函数的参数类型: eg: select OutPH,CONVERT(Time(0),Time,8) as Time from [G ...
- java中List 的Stream常用的几种用法
public class ListStream {public static void main(String[] args) {// 测试数据List<Student> list = n ...
- java中Collections.sort() 排序函数的用法
java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...
- java map put get_JAVA中MAP的PUT函数和GET函数用法
没有比较完整的说明他们的用法,一般就只能看源函数,但是看起来比较的费劲. 那么究竟put函数和get函数的用法是如何的呢? 当然java中的Map集合是有Key和Value的. put()函数 Vpu ...
- decode函数的几种用法详解
decode的几种用法 1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 IF 条件=值1 TH ...
- Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数
Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数 一.概述 1.本文系统的整理了,Oracle中常见的几个函数用法,都是涉及到条件判断分支类的 ...
- java回调函数_PHP回调函数及匿名函数概念与用法详解
1.回调函数 PHP的回调函数其实和C.Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数: 回调函数执行完毕之后,再回到主线程处理接下来的流程 而在ph ...
- java报表工具FineReport常用函数的用法总结(数学和三角函数)
ABS ABS(number):返回指定数字的绝对值.绝对值是指没有正负符号的数值. Number:需要求出绝对值的任意实数. 示例: ABS(-1.5)等于1.5. ABS(0)等于0. ABS(2 ...
最新文章
- 零基础Java学习之多态
- img should be PIL Image. Got <class ‘numpy.ndarray‘>
- 海外网络推广浅析关键词优化需要注意哪些事项?
- 求最小子数组之二维篇
- 剑指Offer——斐波那契数列
- Error:Unable to resolve target android-19
- struct的成员对齐
- Redis系列二、redis的五种数据结构和相关指令之String
- 数据结构之图的存储结构:邻接多重表
- linux 串口总线,linux中的serio(虚拟串行输入输出)总线
- 【分享】伙伴们!关注公众号要慎重!这半年我取关了很多,这几个留下了!真心推荐给你!...
- 一个很好用的,免费的UML在线画图网站
- 深入了解现场服务软件的投资回报率(ROI)
- Mysql 5.7 免安装版windows安装完整教程
- Android Material Design简单使用 http://www.cnblogs.com/android-blogs/p/5632103.html
- 鲍春健:从“走进客户”奔向“成为客户”
- 不选主元的矩阵三角分解法
- ctf php沙箱,详谈CTF中常出现的PHP反序列化漏洞
- python实现栈的操作_python简单实现队列和栈push、pop操作
- 《黑客之道》--网络安全 黑客攻防教程 渗透测试 利用第三方服务对目标进行被动信息收集防止被发现
热门文章
- 信息服务是不是服务器,www是不是一个超大服务器为网民提供信息?
- 文本框不能输入中文汉字
- 科学计算机主板,一分钟带你了解家庭常见电脑故障问题(主板篇)
- c语言tchar转char,CString、TCHAR*、char*转换
- (JAVA编程练习):输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
- vim粘贴缩紧格式错乱问题
- 循环读取目录下的文件,使用poi读取excel的xlsx,使用jxl读取xls文件
- 大数据四大阵营之流数据处理阵营
- OpenGL ES像素着色器教程
- 面试题:“你能不能谈谈,java GC是在什么时候,对什么东西,做了什么事情?”