在MySQL中,CASE WHEN語句用于對一系列條件進行判斷,并根據不同的條件返回不同的結果。
語法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE result
END
其中,condition1
、condition2
等是條件表達式,result1
、result2
等是相應條件滿足時返回的結果。ELSE
子句是可選的,用于處理條件都不滿足時的默認結果。
舉例來說,假設有一個名為orders
的表,其中包含customer_id
和total_amount
兩個列。我們希望根據total_amount
的值判斷訂單的類型,并返回對應的結果。可以使用CASE WHEN語句來實現:
SELECT customer_id, total_amount,
CASE
WHEN total_amount > 1000 THEN '大額訂單'
WHEN total_amount > 500 THEN '中額訂單'
ELSE '小額訂單'
END AS order_type
FROM orders;
通過執行上述查詢,將會返回一個包含customer_id
、total_amount
和order_type
三個列的結果集。order_type
列將根據total_amount
的值進行判斷,并返回對應的訂單類型。
需要注意的是,在CASE WHEN語句中,條件是按順序依次判斷的。一旦某個條件的結果為真,則返回對應的結果,并且后面的條件將不再判斷。如果沒有任何條件滿足,則返回ELSE子句中的結果。