数据库中case when
时间: 2023-08-26 10:13:05 浏览: 98
数据库中的 CASE WHEN 语句是一种条件表达式,用于根据给定条件返回不同的结果。
语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
这是一个基本的 CASE WHEN 语句,它根据一系列条件进行匹配,并返回与第一个匹配条件对应的结果。如果没有条件匹配,则返回 ELSE 子句中的结果。可以有多个 WHEN 子句,但只有一个 ELSE 子句(可选)。
例如,假设有一个名为 "students" 的表,其中包含 "name" 和 "score" 列。我们希望根据学生的分数进行评级,并将评级结果存储在新的列 "grade" 中。可以使用 CASE WHEN 语句来实现:
```
SELECT
name,
score,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
ELSE 'D'
END AS grade
FROM students;
```
这将返回一个包含学生姓名、分数和等级的结果集。根据学生的分数,他们将被分为 A、B、C 或 D 等级。
注意,CASE WHEN 语句也可用于其他数据库操作,如更新和插入语句中。
相关问题
达梦数据库中case when
在达梦数据库中,CASE WHEN语句用于在查询时进行条件判断和结果返回。它的语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE resultN
END
```
在上面的语法中,可以根据不同的条件进行多个判断,并返回相应的结果。如果没有满足任何条件的情况,可以使用ELSE关键字指定一个默认结果。
以下是一个示例,展示了如何在达梦数据库中使用CASE WHEN语句:
```sql
SELECT
student_name,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS result
FROM
students;
```
上述示例中,根据学生成绩(score)的不同,使用CASE WHEN语句判断并返回相应的等级(result)。
数据库中 case when 的用法
Case when 是一种在数据库中进行条件判断和赋值的语句。它的基本语法是:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
...
ELSE result
END
其中,condition1, condition2, condition3等是条件表达式,result1, result2, result3等是对应条件满足时的结果。当满足某一个条件时,对应的结果会被返回,并结束整个CASE WHEN语句。如果所有条件都不满足,则返回ELSE后的结果。
在数据库中,CASE WHEN常用于根据条件动态地修改或生成字段的值。例如,可以使用CASE WHEN语句将原来的主键a和b相互交换,代码如下:
UPDATE SomeTable
SET p_key = CASE
WHEN p_key = 'a' THEN 'b'
WHEN p_key = 'b' THEN 'a'
ELSE p_key
END
WHERE p_key IN ('a', 'b');
这段代码将p_key字段为'a'的记录的值改为'b',p_key字段为'b'的记录的值改为'a',其他记录的值保持不变。
阅读全文