case when case when
时间: 2024-03-06 22:45:19 浏览: 128
CASE WHEN语句是一种在SQL中使用的条件表达式,它允许根据不同的条件返回不同的结果。而CASE WHEN语句可以嵌套使用,形成CASE WHEN嵌套结构。
下面是一个示例:
```
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
FROM table_name;
```
在上面的示例中,column_name是要查询的列名,condition1、condition2等是条件表达式,result1、result2等是满足对应条件时返回的结果,ELSE result是当没有任何条件满足时返回的默认结果。
相关问题
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列的值。
case when case when 的列
根据提供的引用内容,case when语句可以用于根据条件对列进行分类和排序。case when case when语句是指在case when语句中嵌套另一个case when语句。下面是一个示例:
```sql
SELECT name,
CASE
WHEN age > 60 THEN
CASE
WHEN gender = 'M' THEN 'Senior Male'
ELSE 'Senior Female'
END
ELSE
CASE
WHEN gender = 'M' THEN 'Male'
ELSE 'Female'
END
END AS category
FROM persons;
```
在上面的示例中,我们使用了两个嵌套的case when语句来对人员进行分类。首先,我们根据年龄将人员分为两组:60岁以上和60岁以下。然后,我们在每个组中使用另一个case when语句来根据性别进一步分类。
阅读全文