Oracle的DECODE函数

1.句法
  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 

2. 实例
   1)创建业绩表
     create table scott.sale(
       month char(6),
       sell number(10,2)
     );

   2)插入数据
     insert into scott.sale values(01, 1000);
     insert into scott.sale values(02, 2000);
     insert into scott.sale values(03, 9000);
     insert into scott.sale values(04, 7000);
     insert into scott.sale values(05, 4000);
     insert into scott.sale values(06, 5000);

   3)创建评估表
     create table scott.archive(
       month char(6),
       grade char(10)
     );

   4)根据业绩表向评估表插入数据
     --if sell = 900 then
     --grade := 'excellent'
     --else if sell = 700 then
     --grade := 'perfect'
     --else if sell = 500 then
     --grade := 'good'
     --else
     --grade := 'normal'

     insert into scott.archive
     (select month, decode(sell, 9000, 'excellent', 7000, 'perfect', 5000, 'good', normal')
     from scott.sale);