Oracle中decode函数的使用

需求:
如果A表中的item_1的值为1,则返回0,否则返回其本身
--case when实现
select case 
when item_1=1 then 0
else item_1 end 
as result_value
  from A

--decode实现
select decode(item_1,1,0,item_1) 
from A
decode说明:
decode(item,值1,值2,值3);
如果item等于值1,则返回值2,否则返回值3
且decode可实现多层嵌套

其它用法:
decode(item,值1,值2,值3,值4,...,default)
如果item等于值1,返回值2,等于值3,返回值4,...
如果没有匹配上,返回default

decode身为oracle最强大的函数之一,还有很多用法,暂时就介绍到这里