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