sql case when 语法
时间: 2024-11-22 13:28:53 浏览: 3
SQL中的CASE WHEN语句是一种条件表达式,用于根据给定的条件返回不同的结果。它的基本结构如下:
```sql
CASE
WHEN condition_1 THEN result_1
[WHEN condition_2 THEN result_2]
...
ELSE default_result
END
```
这里解释一下各部分含义:
- `CASE` 开始一个case语句块。
- `condition_1`, `condition_2` 等是一系列条件判断,如果满足其中一个,对应的`result_1` 或 `result_2` 就会被返回。
- `ELSE` 子句是可选的,默认情况,当所有`WHEN`条件都不满足时,会执行这里的语句。
- `THEN result_n` 表示当条件成立时返回的结果。
例如,如果你想计算某个列的值,如果满足某个条件就加10,否则保持不变,你可以这样做:
```sql
SELECT
id,
CASE
WHEN column_name > 50 THEN column_name + 10
ELSE column_name
END AS new_value
FROM table_name;
```
相关问题
用sql case when 语法
SQL CASE WHEN语法用于在满足特定条件时执行不同的操作。以下是一个基本示例:
```
SELECT column1, column2,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result4
END
FROM table_name;
```
其中,column1和column2是要查询的列名,condition1、condition2和condition3是条件,result1、result2、result3和result4是在满足不同条件时要返回的结果。
例如,以下查询将根据学生的分数返回他们的等级:
```
SELECT name, score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade
FROM students;
```
在上面的查询中,如果分数大于等于90,将返回'A'等级,如果分数大于等于80,则返回'B'等级,以此类推。如果分数低于60,则返回'F'等级。同时,将使用AS关键字为结果集中的列指定别名。
sql语言的case when语法是什么
SQL中的CASE WHEN语句是一种条件表达式,用于根据特定条件返回不同的结果。基本结构如下:
```sql
CASE
WHEN condition1 THEN result1
[WHEN condition2 THEN result2]
[...]
ELSE default_result
END
```
这里解释一下各个部分:
1. `CASE` 开始一个条件判断块。
2. `WHEN condition1 THEN result1`:这是一个条件分支,如果`condition1`为真,那么就会返回`result1`。可以有多个这样的分支。
3. `ELSE default_result`:如果所有的`WHEN`条件都不满足,则会执行`default_result`这一部分。这是可选的,如果不指定,默认情况下CASE表达式返回NULL。
4. `END` 结束整个CASE语句。
例如,如果你想根据学生的分数等级给他们打分标签,你可以这样做:
```sql
SELECT
ID,
CASE
WHEN Score > 90 THEN 'A'
WHEN Score BETWEEN 80 AND 90 THEN 'B'
WHEN Score BETWEEN 70 AND 80 THEN 'C'
ELSE 'D'
END AS Grade
FROM Students;
```
在这里,`Score`字段会被检查,并根据每个条件分配相应的等级标签。
阅读全文