SQL中的CASE WHEN語句用于根據條件執行不同的操作。它可以有多個WHEN子句和一個可選的ELSE子句。以下是CASE WHEN語句的幾種常見用法:
CASE column_name
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
根據column_name的值進行匹配,如果匹配到value1,則返回result1;如果匹配到value2,則返回result2;否則返回result。
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
根據條件進行匹配,如果滿足condition1,則返回result1;如果滿足condition2,則返回result2;否則返回result。
CASE
WHEN condition1 THEN
CASE
WHEN nested_condition1 THEN nested_result1
WHEN nested_condition2 THEN nested_result2
...
ELSE nested_result
END
WHEN condition2 THEN result2
...
ELSE result
END
在WHEN子句中可以嵌套另一個CASE WHEN語句,以實現更復雜的條件邏輯。
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END AS new_column
FROM table_name
在SELECT語句中使用CASE WHEN語句,可以根據條件計算新的列值。
這些只是CASE WHEN語句的一些常見用法,根據具體的需求還可以進行更多的組合和變化。