Oracle 中 decode 函数用法(字段A,B, C,A不为空则取A,否则取B,B为空则取C)

–decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值)
SELECT DECODE(TEMP.SCORE,
‘A’,
‘90-100’,
‘B’,
‘80-89’,
‘C’,
‘70-79’,
‘D’,
‘60-69’,
‘E’,
‘0-59’,
‘其他’) AS XXX
FROM (SELECT ‘A’ SCORE FROM DUAL) TEMP
–结果:’90-100’

–decode(条件,比较值,值1,值2)
–当条件的值等于比较值时,该函数返回值1,否则返回值2
SELECT DECODE(NULL,
TEMP.A,
DECODE(NULL, TEMP.B, DECODE(NULL, TEMP.C, ”, TEMP.C), TEMP.B),
TEMP.A) AS XXX
FROM (SELECT NULL A, ‘B’ B, ‘C’ C FROM DUAL) TEMP

SELECT DECODE(TEMP.A,
NULL,
DECODE(TEMP.B, NULL, DECODE(TEMP.C, NULL, ”, TEMP.C), TEMP.B),
TEMP.A) AS XXX
FROM (SELECT NULL A, NULL B, ‘C’ C FROM DUAL) TEMP

原文地址:https://www.cnblogs.com/fyhaoge/p/10906043.html

时间: 2024-10-10 17:00:33

Oracle 中 decode 函数用法(字段A,B, C,A不为空则取A,否则取B,B为空则取C)的相关文章

Oracle 中 decode 函数用法

Oracle 中 decode 函数用法 含义解释:decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下:IF 条件=值1 THEN RETURN(翻译值1)ELSIF 条件=值2 THEN RETURN(翻译值2) ......ELSIF 条件=值n THEN RETURN(翻译值n)ELSE RETURN(缺省值)END IFdecode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值

Oracle 中 decode 函数用法(转)

含义解释: decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ...... ELSIF 条件=值n THEN RETURN(翻译值n) ELSE RETURN(缺省值) END IF decode(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3 当然值1,

Oracle中decode函数用法含义

DECODE(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值) DECODE(字段或字段的运算,值1,值2,值3) 这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3 当然值1,值2,值3也可以是表达式,这个函数使得某些SQL语句简单了许多 该函数的含义如下: IF 条件=值1 THEN RETURN(返回值1) ELSIF 条件=值2 THEN RETURN(返回值2) ...... ELSIF 条件=值n THEN RETURN(返回值n

Oracle中rownum_函数用法(转载)

解析oracle的rownum 对于rownum来说它是oracle系统顺序分配为从查询返回的行的编号,返回的第一行分配的是1,第二行是2,依此类推,这个伪字段可以用于限制查询返回的总行数,而且rownum不能以任何表的名称作为前缀.举例说明:  例如表:student(学生)表,表结构为: sql 代码 11. ID     char(6) --学号 2.2 name VARCHAR2(10) --姓名 33. create table student (ID char(6), name VA

Oracle中TRUNC() 函数用法

1. 用来处理日期 TRUNC(date[, fmt]): 根据fmt格式来截取日期 SELECT TRUNC(SYSDATE,'D') FROM DUAL; --本周第一天日期 SELECT TRUNC(SYSDATE, 'MM') FROM DUAL; --本月第一天日期 SELECT TRUNC(SYSDATE, 'Q') FROM DUAL; --本季度第一天日期 SELECT TRUNC(SYSDATE,'Y') FROM DUAL; --本年度第一天日期 2. 用来处理数值 TRUN

oracle中to_date详细用法示例(oracle日期格式转换)

这篇文章主要介绍了oracle中to_date详细用法示例,包括期和字符转换函数用法.字符串和时间互转.求某天是星期几.两个日期间的天数.月份差等用法 TO_DATE格式(以时间:2007-11-02 13:45:25为例) 1. 日期和字符转换函数用法(to_date,to_char) select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') as nowTime from dual; //日期转化为字符串 select to_char(sysdate,'

【基础】ORACLE中substr的用法

ORACLE中substr函数的简单用法 substr(字符串,截取开始位置,截取长度) //返回截取的字 substr('Hello World',0,1) //返回结果为 'H'  *从字符串第一个字符开始截取长度为1的字符串 substr('Hello World',1,1) //返回结果为 'H'  *0和1都是表示截取的开始位置为第一个字符 substr('Hello World',2,4) //返回结果为 'ello' substr('Hello World',-3,3)//返回结果

Oracle中Merge into用法总结 (转载)

Oracle中Merge into用法总结 (出处:http://www.cnblogs.com/dongsheng/p/4384754.html) 起因: 前段时间,因为涉及到一张表的大数据操作,要同时进行增删改,我跟师傅想了很多优化办法,结果都不尽人意.刚开始用的就是原始算法,先更新现有记录,再插入满足要求的其他记录,最后再删除多余记录,但是少量数据还可以,10W条数据就不行了,前台的超时时间是60s,远远无法满足要求.之后又想办法将任务进行拆分,根据每条记录流水号尾字符不同进行拆分,用多个

python 中 print 函数用法总结

Python 思想: “一切都是对象!” 在 Python 3 中接触的第一个很大的差异就是缩进是作为语法的一部分,这和C++等其他语言确实很不一样,所以要小心 ,其中python3和python2中print的用法有很多不同,python3中需要使用括号 缩进要使用4个空格(这不是必须的,但你最好这么做),缩进表示一个代码块的开始,非缩进表示一个代码的结束.没有明确的大括号.中括号.或者关键字.这意味着空白很重要,而且必须要是一致的.第一个没有缩进的行标记了代码块,意思是指函数,if 语句.