DECODE ( expression, search, result [ , search, result ]...[, default ] )
DECODE is similar to the IF-THEN-ELSE and CASE expressions:
CASE expression [WHEN search THEN result] [WHEN search THEN result] ... [ELSE default];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
示例:
SELECT product_description , DECODE(weight ,2, 'Light' ,50, 'Medium' ,71, 'Heavy', ,99, 'Call for help' ,'N/A')相当于
SELECT product_description , case weight when 2 then 'Light' when 50 then 'Medium' when 71 then 'Heavy', when 99 then 'Call for help' else 'N/A' end as weight
一种计数方法:
status为active的总数
sum(decode(status,'active',1,0)) as active
