在SQL中,CASE表達式用于根據條件選擇不同的結果。
一般情況下,CASE表達式有兩種形式:簡單CASE表達式和搜索CASE表達式。
簡單CASE表達式: 簡單CASE表達式是根據一個具體的表達式的值來選擇結果。它的語法如下:
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
表達式的值會與每個WHEN子句中的值進行比較,如果匹配則返回對應的結果,如果沒有匹配到任何WHEN子句,則返回ELSE子句中的結果。如果沒有提供ELSE子句,則返回NULL。
搜索CASE表達式: 搜索CASE表達式是根據多個條件進行選擇結果。它的語法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
每個WHEN子句中的條件會逐個進行判斷,如果條件為真則返回對應的結果,如果沒有條件為真,則返回ELSE子句中的結果。如果沒有提供ELSE子句,則返回NULL。
CASE表達式還可以嵌套使用,可以在WHEN或ELSE子句中使用其他CASE表達式來實現更復雜的條件判斷。
使用CASE表達式可以實現在查詢中進行條件判斷,根據不同的條件選擇不同的結果,從而豐富查詢的結果集。