mysql 中的 case when then 語(yǔ)句用于根據(jù)條件執(zhí)行不同的動(dòng)作:指定條件:使用 when 子句指定要評(píng)估的條件。執(zhí)行動(dòng)作:條件為真則執(zhí)行 then 子句中的動(dòng)作。提供默認(rèn)結(jié)果:else 子句指定所有條件為假時(shí)要執(zhí)行的動(dòng)作。該語(yǔ)句可替代復(fù)雜的 if-else 語(yǔ)句,使代碼更清晰且可根據(jù)多個(gè)條件進(jìn)行分支決策。
MySQL 中 CASE WHEN THEN 語(yǔ)句的用法
MySQL 中的 CASE WHEN THEN 語(yǔ)句是一種控制流語(yǔ)句,用于根據(jù)指定的條件執(zhí)行不同的動(dòng)作。其語(yǔ)法如下:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END
登錄后復(fù)制
用法:
指定條件:使用 WHEN 子句指定要評(píng)估的條件。
執(zhí)行動(dòng)作:如果條件為真,則執(zhí)行 THEN 子句中指定的動(dòng)作。
提供默認(rèn)結(jié)果:ELSE 子句指定如果所有條件都為假時(shí)要執(zhí)行的動(dòng)作。
示例:
SELECT CASE WHEN age <p>這個(gè)示例根據(jù) age 列的值將人員分類為青少年、成年或老年人。</p><p><strong>特點(diǎn):</strong></p>
登錄后復(fù)制
CASE WHEN THEN 語(yǔ)句可以包含多個(gè) WHEN 子句,每個(gè)子句處理一個(gè)不同的條件。
ELSE 子句是可選的,如果不指定,則在所有條件都為假時(shí)返回 NULL。
CASE WHEN THEN 語(yǔ)句可以嵌套在其他 CASE 語(yǔ)句中,以創(chuàng)建更復(fù)雜的條件。
子查詢可以用作條件或結(jié)果,以提供更靈活的控制。
優(yōu)勢(shì):
替代復(fù)雜的 IF-ELSE 語(yǔ)句,使代碼更清晰、更簡(jiǎn)潔。
允許根據(jù)多個(gè)條件進(jìn)行分支決策。
可以動(dòng)態(tài)生成結(jié)果,根據(jù)不同的輸入值返回不同的值。






