Oracle函数decode

Posted 魑魅丶魍魉

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle函数decode相关的知识,希望对你有一定的参考价值。

一、decode函数

含义解释: 
1、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

   这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
 当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多

 

2、decode(字段或字段的运算,值1,值2,值3)

       这个函数运行的结果是,当字段或字段的运算的值等于值1时,该函数返回值2,否则返回值3
 当然值1,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多

 

二、add_months

add_months 有两个参数,第一个参数是日期,第二个参数是对日期进行加减的数字(以月为单位的)

3个月以后的时间,select add_months(sysdate,3) from dual; 

3个月以前的时间, select add_months(sysdate,-3) from dual;

 

三、case when then用法 

https://www.cnblogs.com/Richardzhu/p/3571670.html

分段统计总数:

 查到数据为1 没有查到的为0

select
  sum(CASE g.ghcc WHEN \'3\' then 1 end) as sum
from gh_ghdm g

 

 

四、instr()函数的格式

格式一:instr( string1, string2 )    /   instr(源字符串, 目标字符串)

格式二:instr( string1, string2 [, start_position [, nth_appearance ] ] )   /   instr(源字符串, 目标字符串, 起始位置, 匹配序号)

解析:string2 的值要在string1中查找,是从start_position给出的数值(即:位置)开始在string1检索,检索第nth_appearance(几)次出现string2。

注:在Oracle/PLSQL中,instr函数返回要截取的字符串在源字符串中的位置。只检索一次,也就是说从字符的开始到字符的结尾就结束。

https://www.cnblogs.com/dshore123/p/7813230.html

以上是关于Oracle函数decode的主要内容,如果未能解决你的问题,请参考以下文章

oracle中的ceil函数和floor函数的区别

能说一下oracle中的开窗函数 聚合函数 分析函数都是啥吗?

oracle累加分析函数

Oracle 函数都有那些?

oracle分析函数问题

oracle Instr函数问题