oracle中decode函数的用法

一般用plsql时,我们经常会碰到需要使用decode函数的情况,

decode其实相当于if语句,如果类似理解为switch case的形式也可以。

如果decode函数中只比较一个参数,例如

SELECT name,DECODE(sex,'1','女' ,'男') sex FROM xiaoyuzhou ;

#如果xiaoyuzhou表中的字段sex等于1,那么就显示查到的sex字段为女,

#如果xiaoyuzhou表中的字段sex不等于1,那么就显示查到的sex字段为男

但是当decode函数比较多个参数时,例如

SELECT ID,DECODE(inParam,'para1','值1' ,'para2','值2','para3','值3','para4','值4','para5','值5') name FROM bank

SELECT name,DECODE(month,'1','一月' ,'2','二月','3','三月') monthFROM xiaoyuzhou ;

#如果xiaoyuzhou表中的字段month=='1'那么就显示查到的字段month为一月;

#如果xiaoyuzhou表中的字段month=='2'那么就显示查到的字段month为二月;

#如果xiaoyuzhou表中的字段month=='3'那么就显示查到的字段month为三月;

#如果xiaoyuzhou表中的字段month没有匹配的值,那么就显示查到的字段month为''

 

你可能感兴趣的:(oracle)