该函数可以接受可变的参数,具体参数情况如下:
decode(条件,值1,翻译值1,值2,翻译值2,...值n,翻译值n,缺省值)该函数的含义如下:if ( 条件=值1 ) return(翻译值1)else if( 条件=值2) return(翻译值2) ......else if( 条件=值n ) return(翻译值n)else return(缺省值)end if;
select decode('2',null,'1',2,(select 5 from dual),'4') from dual ;
返回5
select decode(null,null,'1',2,(select 5 from dual),'4') from dual ;
返回 1
注意: 这里的翻译值和缺省值可以使用表达式或子查询,但是不能返回多个值,否则会出现错误.