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 | 芒果 | 高價 |
沒有留言:
張貼留言