【摘要】一、decode函数的两种形式 第一种形式 含义解释:decode(条件,值1,返回值1,值2,返回值2,…值n,返回值n,缺省值) 该函数的含义如下: IF 条件=值1 THEN RETURN(翻译值1) ELSIF 条件=值2 THEN RETURN(翻译值2) ......
一、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,值2,值3也可以是表达式,这个函数使得某些sql语句简单了许多
扩展:
sign()函数
解释:
sign()函数根据某个值是0、正数还是负数,分别返回0、1、-1
用法示例:
select id,sign(id-2) from t_decode;
截图效果:
lpad()函数
在字段id前边补字段0 长度为2
select lpad(id,2,0) from t_decode;
二、decode的一些工作常用思路总结
1、准备测试数据:
创建测试表t_decode,并插入测试数据//创建表,插入数据,查询
create table t_decode( id integer, name varchar2(10) ); //插入数据 insert into t_decode values (1,'a'); insert into t_decode values (2,'b'); insert into t_decode values (3,'c'); insert into t_decode values (4,'a');
数据样式
2、第一种形式decode函数的常用思路
①. 简