MySQL 中 CASE WHEN THEN 语句的用法
MySQL 中的 CASE WHEN THEN 语句是一种控制流语句,用于根据指定的条件执行不同的动作。其语法如下:
<code>CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE default_result END</code>
用法:
-
指定条件:使用 WHEN 子句指定要评估的条件。
执行动作:如果条件为真,则执行 THEN 子句中指定的动作。
提供默认结果:ELSE 子句指定如果所有条件都为假时要执行的动作。
示例:
<code>SELECT CASE WHEN age < 18 THEN 'Teenager' WHEN age < 65 THEN 'Adult' ELSE 'Senior' END AS age_category FROM person;</code>
这个示例根据
age列的值将人员分类为青少年、成年或老年人。
特点:
CASE WHEN THEN 语句可以包含多个 WHEN 子句,每个子句处理一个不同的条件。 ELSE 子句是可选的,如果不指定,则在所有条件都为假时返回 NULL。 CASE WHEN THEN 语句可以嵌套在其他 CASE 语句中,以创建更复杂的条件。 子查询可以用作条件或结果,以提供更灵活的控制。优势:
替代复杂的 IF-ELSE 语句,使代码更清晰、更简洁。 允许根据多个条件进行分支决策。 可以动态生成结果,根据不同的输入值返回不同的值。