CASE WHEN語句是一種在SQL中進行條件判斷和分支選擇的方式。它的語法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
其中,condition1
, condition2
, …是條件表達式,result1
, result2
, …是根據條件表達式的結果返回的值,result
是默認情況下返回的值。
以下是一個示例,說明如何使用CASE WHEN語句:
假設有一個名為orders
的表,其中包含訂單號(order_id
)和訂單金額(amount
)兩個列。我們想要根據訂單金額的大小,給每個訂單添加一個級別(高、中、低)。可以使用CASE WHEN語句來實現:
SELECT order_id, amount,
CASE
WHEN amount > 1000 THEN '高'
WHEN amount > 500 THEN '中'
ELSE '低'
END AS level
FROM orders;
上述示例中,根據訂單金額的大小,使用CASE WHEN語句添加了一個名為level
的新列。如果訂單金額大于1000,則level
為’高’;如果訂單金額大于500,則level
為’中’;否則level
為’低’。
注意:在使用CASE WHEN語句時,條件表達式的順序很重要。條件表達式按照順序進行判斷,一旦滿足某個條件,就會返回對應的結果,并且不再繼續判斷后續條件。因此,應該將滿足范圍最小的條件放在最后。