oracle中case when語句用于根據(jù)條件返回不同的值。語法:case when condition then result else default_result end。用法:1. 條件檢查:when子句包含條件和返回的結(jié)果;2. 默認(rèn)結(jié)果:else子句指定不滿足任何條件時(shí)的默認(rèn)結(jié)果。示例:根據(jù)salary值返回income_level:salary > 5000:高收入;3000 ≤ salary ≤ 5000:中等收入;salary
Oracle中的CASE WHEN用法
CASE WHEN語句是一種條件表達(dá)式,用于根據(jù)一組條件返回不同的值。它在處理復(fù)雜數(shù)據(jù)查詢和操作時(shí)非常有用。
語法:
<code class="sql">CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END</code>登錄后復(fù)制
用法:
條件檢查:CASE語句以一系列WHEN子句開頭,每個(gè)子句都包含一個(gè)條件和一個(gè)要返回的結(jié)果。
默認(rèn)結(jié)果:ELSE子句是可選的,用于指定當(dāng)所有條件都不滿足時(shí)的默認(rèn)結(jié)果。
示例:
<code class="sql">SELECT CASE WHEN salary > 5000 THEN '高收入' WHEN salary BETWEEN 3000 AND 5000 THEN '中等收入' ELSE '低收入' END AS income_level FROM employees;</code>登錄后復(fù)制
結(jié)果:
此查詢將根據(jù)員工的salary值返回income_level列:
salary > 5000:高收入
3000 ≤ salary ≤ 5000:中等收入
salary注意:
CASE語句中的條件可以使用任何有效的SQL表達(dá)式。
CASE語句可以嵌套,允許創(chuàng)建更復(fù)雜的分支邏輯。
在某些情況下,CASE語句可以用DECODE函數(shù)代替,語法更簡潔。