SQL中的CASE WHEN語(yǔ)句用于根據(jù)條件執(zhí)行不同的操作。它可以有多個(gè)WHEN子句和一個(gè)可選的ELSE子句。以下是CASE WHEN語(yǔ)句的幾種常見用法:
CASE column_name
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
根據(jù)column_name的值進(jìn)行匹配,如果匹配到value1,則返回result1;如果匹配到value2,則返回result2;否則返回result。
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
根據(jù)條件進(jìn)行匹配,如果滿足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子句中可以嵌套另一個(gè)CASE WHEN語(yǔ)句,以實(shí)現(xiàn)更復(fù)雜的條件邏輯。
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END AS new_column
FROM table_name
在SELECT語(yǔ)句中使用CASE WHEN語(yǔ)句,可以根據(jù)條件計(jì)算新的列值。
這些只是CASE WHEN語(yǔ)句的一些常見用法,根據(jù)具體的需求還可以進(jìn)行更多的組合和變化。