Oracle CASE WHEN 用法介绍

1. CASE WHEN 表达式有两种形式

 sex  
     
     
    



 sex      
 sex

 

2. CASE WHEN 在语句中不一样位置的用法

2.1 SELECT CASE WHEN 用法

   grade,  (  sex          
                        
                       END) 男生数,
                 (  sex    
                        
                       END) 女生数
     students   grade;

 

2.3 WHERE CASE WHEN 用法

 T2., T1.
    T1, T2
   (  T2.COMPARE_TYPE   
                   T1.SOME_TYPE  
                 
               T2.COMPARE_TYPE   
                   T1.SOME_TYPE   
                 
               
           )

 

2.4 GROUP BY CASE WHEN 用法

  
  salary      
 salary    salary       
 salary    salary       
 salary    salary      
   salary_class, ()  
    Table_A  
   
  salary      
 salary    salary       
 salary    salary       
 salary    salary      
  ;

 

3.关于IF-THEN-ELSE的其余实现

3.1 DECODE() 函数

 decode(sex, , , , , )
   employees;

貌似只有Oracle提供该函数,并且不支持ANSI SQL,语法上也没CASE WHEN清晰,我的不推荐使用。

函数

3.2 在WHERE中特殊实现

 T2., T1.
    T1, T2
   (T2.COMPARE_TYPE    T1.SOME_TYPE  )
         
        (T2.COMPARE_TYPE    T1.SOME_TYPE   )

这种方法也是在特殊状况下使用,要多注意逻辑,不要弄错。

spa

相关文章
相关标签/搜索