sql case 函數(shù)通過比較表達(dá)式結(jié)果執(zhí)行不同的操作,其語法為:when expression then result1when expression then result2…[else default_result]end
SQL 中 CASE 函數(shù)的用法
CASE 函數(shù)在 SQL 中是一個強大的工具,用于根據(jù)表達(dá)式的結(jié)果執(zhí)行不同的操作。其語法如下:
<code class="sql">CASE WHEN expression1 THEN result1 WHEN expression2 THEN result2 ... [ELSE default_result] END</code>
登錄后復(fù)制
用法示例
例如,要根據(jù)員工的部門獲取他們的薪酬范圍,可以使用 CASE 函數(shù):
<code class="sql">SELECT salary, CASE department WHEN 'Sales' THEN '25,000 - 50,000' WHEN 'Engineering' THEN '35,000 - 75,000' WHEN 'Marketing' THEN '20,000 - 40,000' ELSE 'Unknown' END AS salary_range FROM employees;</code>
登錄后復(fù)制
這將返回以下結(jié)果:
薪酬 | 薪酬范圍 |
---|---|
30,000 | 25,000 – 50,000 |
50,000 | 35,000 – 75,000 |
25,000 | 20,000 – 40,000 |
其他用例
CASE 函數(shù)還有許多其他用例,包括:
驗證數(shù)據(jù)完整性:驗證數(shù)據(jù)是否滿足某些條件。
轉(zhuǎn)換數(shù)據(jù)格式:將數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式。
聚合數(shù)據(jù):根據(jù)不同條件對數(shù)據(jù)進(jìn)行分組和匯總。
復(fù)雜查詢:在復(fù)雜的查詢中根據(jù)不同的情況執(zhí)行不同的操作。
注意:
CASE 語句可以包含多個 WHEN 子句和一個 ELSE 子句(可選)。
ELSE 子句可用于指定當(dāng)所有 WHEN 子句都不滿足時的默認(rèn)結(jié)果。
CASE 語句可以嵌套,以創(chuàng)建更為復(fù)雜的條件。