MySQL中的CASE WHEN語句允許您按條件執(zhí)行不同的操作。使用CASE WHEN語句,您可以使SQL語句更加靈活和可讀。下面是一個簡單的例子:
SELECT CASE WHEN age >18 THEN '成年人' ELSE '未成年人' END AS '年齡段' FROM person;
上述代碼將根據(jù)person表中的age字段的值,將結(jié)果判斷為成年人或未成年人。CASE WHEN語句的語法如下:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE else_result END
其中:
- condition是條件表達式
- result是在條件滿足時要返回的值
- 如果沒有條件為True,則返回else_result(可選的)
當(dāng)然,您可以使用多個WHEN子句。在這種情況下,將執(zhí)行的第一個WHEN子句的結(jié)果。如果第一個WHEN子句的條件不滿足,則檢查下一個WHEN子句,依此類推,直到找到滿足條件的WHEN子句或達到ELSE子句。
下面是一個更復(fù)雜的例子:
SELECT CASE WHEN age >18 AND gender = 'M' THEN '男性成年人' WHEN age >18 AND gender = 'F' THEN '女性成年人' WHEN age<= 18 AND gender = 'M' THEN '男性未成年人' ELSE '女性未成年人' END AS '個人屬性' FROM person;
上述代碼根據(jù)age和gender字段的值,將結(jié)果判斷為男性成年人、女性成年人、男性未成年人或女性未成年人。
您可以在MySQL中使用CASE WHEN語句來執(zhí)行復(fù)雜的條件操作,并從數(shù)據(jù)庫中獲取需要的數(shù)據(jù)。這是SQL查詢中非常強大和有用的語句。
上一篇mysql的8種使用方法
下一篇mysql的c3po配置