Case When Then 可以說是 SQL的 IF 判斷式
大致上語法如下
Select Case (要判斷的欄位)
When ('條件1') Then ('結果1')
When ('條件2') Then ('結果2')
...
(Else "結果N")
End
From TableA
Else 語句如沒用到,可以省略
ex
TableA
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 | 芒果 | 高價 |
沒有留言:
張貼留言