数据库中 case when 的用法
时间: 2023-11-16 11:52:38 浏览: 34
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',其他记录的值保持不变。
相关问题
数据库case when的用法
CASE WHEN语句是在数据库中用于实现条件逻辑的一种方式。它允许你根据条件对结果进行不同的处理。
基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
在数据库中,condition1、condition2等是用来判断的条件表达式,result1、result2等是在满足对应条件时返回的结果。ELSE子句是可选的,用于指定当没有任何条件满足时返回的默认结果。
下面是一个简单的例子,展示了如何使用CASE WHEN语句:
```
SELECT name, age,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 60 THEN '成年人'
ELSE '老年人'
END AS age_group
FROM users;
```
这个例子中,根据用户的年龄将其划分为不同的年龄组别,并将结果作为一个名为age_group的新列返回。根据年龄的不同,可能返回'未成年'、'成年人'或'老年人'。
CASE WHEN语句还可以在其他查询操作中使用,例如UPDATE和INSERT语句,以及作为计算字段的一部分。它提供了一种灵活的方式来根据条件执行不同的操作。
数据库 case when 的用法
数据库中的 case when 语句用于根据条件执行不同的操作。它的基本语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
其中,condition1、condition2 等是条件表达式,result1、result2 等是对应条件的结果,default_result 是当所有条件都不满足时的默认结果。根据实际情况,可以使用多个 WHEN 子句和一个 ELSE 子句。
例如,以下 SQL 语句使用 case when 语句将员工的薪水按照不同的等级进行分类:
SELECT
employee_id,
CASE
WHEN salary >= 10000 THEN '高级'
WHEN salary >= 500 THEN '中级'
ELSE '初级'
END AS level
FROM
employees;
这样,查询结果会返回每个员工的 ID 和对应的薪水等级。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)