sql case when的用法有哪些

小億
100
2023-07-06 19:40:51
欄目: 云計(jì)算

SQL中的CASE WHEN語(yǔ)句用于根據(jù)條件執(zhí)行不同的操作。它可以有多個(gè)WHEN子句和一個(gè)可選的ELSE子句。以下是CASE WHEN語(yǔ)句的幾種常見用法:

  1. 簡(jiǎn)單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。

  1. 搜索CASE WHEN語(yǔ)句:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END

根據(jù)條件進(jìn)行匹配,如果滿足condition1,則返回result1;如果滿足condition2,則返回result2;否則返回result。

  1. 嵌套CASE WHEN語(yǔ)句:
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ù)雜的條件邏輯。

  1. CASE WHEN語(yǔ)句與聚合函數(shù)一起使用:
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)行更多的組合和變化。

0