MySql写case when
时间: 2023-11-03 16:59:59 浏览: 65
当你需要在MySQL中使用CASE WHEN语句时,你可以按照以下格式编写:
```sql
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END AS alias
FROM table_name;
```
在上面的示例中,你可以根据特定条件执行不同的操作。如果条件不满足,则会返回ELSE子句中的结果。
以下是一个示例:
```sql
SELECT name,
CASE
WHEN age < 18 THEN 'Child'
WHEN age >= 18 AND age < 65 THEN 'Adult'
ELSE 'Senior'
END AS age_group
FROM users;
```
在这个例子中,根据用户的年龄,我们将他们分为三个不同的年龄组:儿童、成年人和老年人。
相关问题
Mysql中case when 内嵌case when
在MySQL中,CASE WHEN语句允许您在查询中进行条件判断和分支选择。CASE WHEN语句可以嵌套使用,包括内嵌的CASE WHEN语句。
内嵌的CASE WHEN语句可以在外部CASE WHEN的THEN或ELSE子句中使用,以提供更复杂的条件判断和分支选择。
下面是一个示例,展示了如何在MySQL中使用内嵌的CASE WHEN语句:
SELECT column1,
CASE
WHEN column2 = 'value1' THEN
CASE
WHEN column3 = 'value2' THEN 'Result A'
WHEN column3 = 'value3' THEN 'Result B'
ELSE 'Result C'
END
WHEN column2 = 'value4' THEN 'Result D'
ELSE 'Result E'
END AS result
FROM table;
在上面的例子中,我们首先使用外部CASE WHEN语句对column2进行条件判断。如果column2的值为'value1',则进一步使用内嵌的CASE WHEN语句对column3进行条件判断。根据column3的值,我们返回不同的结果。如果column2的值为'value4',则直接返回另一个结果。对于其他情况,我们返回另一个默认的结果。
mysql case when CASE WHEN
CASE WHEN语句用于计算条件列表并返回多个可能结果表达式之一。它有两种格式:简单CASE函数和搜索CASE函数。
简单CASE函数将某个表达式与一组简单表达式进行比较以确定结果。它的语法格式如下:
CASE input_expression
WHEN when_expression THEN result_expression
[ELSE else_result_expression]
END
搜索CASE函数计算一组布尔表达式以确定结果。它的语法格式如下:
CASE
WHEN [Boolean_expression] THEN [result1]
...
ELSE [default]
END
在使用简单CASE函数时,when_expression后面必须接case列的值,不能是表达式。而在使用搜索CASE函数时,可以使用任意的布尔表达式。
以下是一个示例,以人员表为例,展示了使用CASE WHEN语句的两种用法:
1. 使用简单CASE函数:
SELECT
CASE sex
WHEN '1' THEN '男'
WHEN '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
2. 使用搜索CASE函数:
SELECT
CASE
WHEN sex = '1' THEN '男'
WHEN sex = '2' THEN '女'
ELSE '其他'
END AS '性别'
FROM people;
在这个案例中,由于在第一个示例中使用了错误的语法,所以会导致结果不符合预期。正确的写法是在when后面直接写表达式,而不是case列的值。
阅读全文