CASE WHEN
时间: 2024-08-27 15:01:11 浏览: 45
CASE WHEN 是SQL语言中的一个条件表达式,它用于创建基于特定条件的结果集。这个结构的基本语法如下:
```sql
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
[ ... ]
ELSE default_result
END
```
在这里,`condition_1`, `condition_2`, 等等是布尔表达式,如果它们为真,就会返回相应的`result_1`, `result_2`, 等等。如果所有`WHEN`条件都不满足,则会执行`ELSE`后面的语句,提供一个默认结果。
例如,如果你想根据某个字段的值将数据分类并赋值,你可以这样做:
```sql
SELECT
CASE
WHEN age > 18 THEN 'Adult'
WHEN age BETWEEN 10 AND 18 THEN 'Teenager'
ELSE 'Child'
END AS AgeGroup,
name
FROM users;
```
这将返回每个用户按照年龄分组的结果。
相关问题
case when
Case When是 SQL 中的条件语句,用于根据不同的条件执行不同的操作。它通常的语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,条件语句可以是任何类型的表达式,例如列名、常量、函数等等。如果条件语句满足某个条件,则执行对应的结果表达式,否则继续判断下一个条件,如果所有条件都不满足,则执行默认结果表达式。
case when
`CASE WHEN` 是 SQL 中的一种条件表达式,用于根据条件判断来返回不同的结果。
它的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
其中,`condition1`, `condition2`, ... 是条件表达式,可以是任何能够返回布尔值的表达式。`result1`, `result2`, ... 是根据条件表达式返回的结果。
运行机制是按顺序判断每个条件表达式,如果某个条件满足,则返回对应的结果,并结束整个表达式的执行。如果没有条件满足,则返回 `ELSE` 语句块中的结果,如果没有 `ELSE` 语句块,则返回 `NULL`。
示例:
```mysql
SELECT
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM students;
```
在上述示例中,根据学生的分数判断其等级,并将结果命名为 `grade`。如果分数大于等于 90,则返回 `'优秀'`;如果分数大于等于 80,则返回 `'良好'`;如果分数大于等于 60,则返回 `'及格'`;否则返回 `'不及格'`。
阅读全文