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函数的几种用法相关推荐

  1. python decode函数的用法_decode函数的用法

    DECODE函数是ORACLE PL/SQL是功能强大的函数之一,目前还只有ORACLE公司的SQL提供了此函数,其他数据库厂商的SQL实现还没有此功能.DECODE有什么用途呢? 先构造一个例子,假 ...

  2. Sql语句Convert函数获取时间格式的一种用法

    Sql语句查询某种时间格式  通过convert函数处理查询结果 这是函数的参数类型: eg: select OutPH,CONVERT(Time(0),Time,8) as Time from [G ...

  3. java中List 的Stream常用的几种用法

    public class ListStream {public static void main(String[] args) {// 测试数据List<Student> list = n ...

  4. java中Collections.sort() 排序函数的用法

    java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...

  5. java map put get_JAVA中MAP的PUT函数和GET函数用法

    没有比较完整的说明他们的用法,一般就只能看源函数,但是看起来比较的费劲. 那么究竟put函数和get函数的用法是如何的呢? 当然java中的Map集合是有Key和Value的. put()函数 Vpu ...

  6. decode函数的几种用法详解

    decode的几种用法 1:使用decode判断字符串是否一样 DECODE(value,if1,then1,if2,then2,if3,then3,...,else) 含义为 IF 条件=值1 TH ...

  7. Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数

    Oracle Decode 函数用法 Count函数条件统计 Sign 函数用法 Case When 函数 一.概述 1.本文系统的整理了,Oracle中常见的几个函数用法,都是涉及到条件判断分支类的 ...

  8. java回调函数_PHP回调函数及匿名函数概念与用法详解

    1.回调函数 PHP的回调函数其实和C.Java等语言的回调函数的作用是一模一样的,都是在主线程执行的过程中,突然跳去执行设置的回调函数: 回调函数执行完毕之后,再回到主线程处理接下来的流程 而在ph ...

  9. java报表工具FineReport常用函数的用法总结(数学和三角函数)

    ABS ABS(number):返回指定数字的绝对值.绝对值是指没有正负符号的数值. Number:需要求出绝对值的任意实数. 示例: ABS(-1.5)等于1.5. ABS(0)等于0. ABS(2 ...

最新文章

  1. 零基础Java学习之多态
  2. img should be PIL Image. Got <class ‘numpy.ndarray‘>
  3. 海外网络推广浅析关键词优化需要注意哪些事项?
  4. 求最小子数组之二维篇
  5. 剑指Offer——斐波那契数列
  6. Error:Unable to resolve target android-19
  7. struct的成员对齐
  8. Redis系列二、redis的五种数据结构和相关指令之String
  9. 数据结构之图的存储结构:邻接多重表
  10. linux 串口总线,linux中的serio(虚拟串行输入输出)总线
  11. 【分享】伙伴们!关注公众号要慎重!这半年我取关了很多,这几个留下了!真心推荐给你!...
  12. 一个很好用的,免费的UML在线画图网站
  13. 深入了解现场服务软件的投资回报率(ROI)
  14. Mysql 5.7 免安装版windows安装完整教程
  15. Android Material Design简单使用 http://www.cnblogs.com/android-blogs/p/5632103.html
  16. 鲍春健:从“走进客户”奔向“成为客户”
  17. 不选主元的矩阵三角分解法
  18. ctf php沙箱,详谈CTF中常出现的PHP反序列化漏洞
  19. python实现栈的操作_python简单实现队列和栈push、pop操作
  20. 《黑客之道》--网络安全 黑客攻防教程 渗透测试 利用第三方服务对目标进行被动信息收集防止被发现

热门文章

  1. 信息服务是不是服务器,www是不是一个超大服务器为网民提供信息?
  2. 文本框不能输入中文汉字
  3. 科学计算机主板,一分钟带你了解家庭常见电脑故障问题(主板篇)
  4. c语言tchar转char,CString、TCHAR*、char*转换
  5. (JAVA编程练习):输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。
  6. vim粘贴缩紧格式错乱问题
  7. 循环读取目录下的文件,使用poi读取excel的xlsx,使用jxl读取xls文件
  8. 大数据四大阵营之流数据处理阵营
  9. OpenGL ES像素着色器教程
  10. 面试题:“你能不能谈谈,java GC是在什么时候,对什么东西,做了什么事情?”