mysql 中 when 子句用于指定在特定條件滿足時(shí)要執(zhí)行的操作。它支持:?jiǎn)蝹€(gè)條件檢查,例如:case when salary >= 10000 then ‘high’。多個(gè)條件處理,例如:case when age
MySQL 中 WHEN 用法
概述:
WHEN 子句是 CASE 表達(dá)式中的一個(gè)分支,用于指定在特定條件滿足時(shí)要執(zhí)行的操作。語(yǔ)法:
<code class="sql">CASE expression WHEN value1 THEN result1 WHEN value2 THEN result2 ... ELSE default_result END</code>登錄后復(fù)制
用法:
單個(gè)條件:
WHEN 子句可以指定一個(gè)單個(gè)條件,如果該條件為真,則返回相應(yīng)的 result。
例如:<code class="sql">CASE WHEN salary >= 10000 THEN 'High' ELSE 'Low' END</code>登錄后復(fù)制
多個(gè)條件:
也可以有多個(gè) WHEN 子句,用于處理不同的條件。
例如:<code class="sql">CASE WHEN age </code>登錄后復(fù)制
默認(rèn)結(jié)果:
ELSE 子句指定當(dāng)所有 WHEN 子句的條件都不滿足時(shí)的默認(rèn)結(jié)果。
例如:<code class="sql">CASE WHEN gender = 'M' THEN 'Male' ELSE 'Female' END</code>登錄后復(fù)制
優(yōu)點(diǎn):
簡(jiǎn)潔:CASE 表達(dá)式使用起來(lái)比 IF-ELSE 語(yǔ)句更簡(jiǎn)潔和可讀。
多條件處理:可輕松處理具有多個(gè)條件的情況。
默認(rèn)結(jié)果:提供了處理所有情況的默認(rèn)值。局限性:
性能:對(duì)于復(fù)雜或大量數(shù)據(jù)的情況,CASE 表達(dá)式可能比 IF-ELSE 語(yǔ)句慢。