2017年9月10日 星期日

[SQL Server] 條件判斷式 Case When Then 的用法

Case When Then 可以說是 SQL的  IF 判斷式
大致上語法如下

Select Case (要判斷的欄位)
  When ('條件1') Then ('結果1')
  When ('條件2') Then ('結果2')
  ...
  (Else "結果N")
  End
From TableA

Else 語句如沒用到,可以省略



ex
TableA
 水果   價格 
 1   香蕉    10
 2  蘋果    15
 3  芒果    40

假設今天是要抓取水果價格,但是販售價格 因為物價上漲,所以都有幅度上調漲

這樣的話可以這樣寫

Select 水果, (Case 水果 When '香蕉' Then 價格+10
   When '蘋果' Then 價格+5
    Else 價格+1 End) As '價格A'
From TableA

輸出結果則為:
 
 水果   價格A 
 1   香蕉    20
 2  蘋果    20
 3  芒果    41

----------------------------------------------------------------

再來假設是需要判斷大於小於的情況呢?
那麼只要把'欄位'移到 When 後面即可

ex
承 TableA 情況

今天是要抓取20元以上 有那些水果

那麼可以這樣寫

Select 水果, (Case When  價格>=20 Then '高價'
   When 價格<20 Then '低價'
   End) As '感覺'
From TableA

輸出結果則為:


 水果   感覺 
 1   香蕉   低價 
 2   蘋果  低價
 3  芒果  高價

沒有留言:

張貼留言