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

相關文章
相關標籤/搜索