orcale 中的 case when用法
时间: 2023-04-27 14:00:04 浏览: 67
Oracle中的CASE WHEN用法是一种条件表达式,可以根据不同的条件返回不同的结果。它的语法结构为:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
其中,condition1、condition2等为条件表达式,result1、result2等为对应条件的结果,default_result为默认结果。当满足某个条件时,返回对应的结果;否则返回默认结果。
相关问题
Oracle中case when 用法
好的,你的问题属于技术问题。在Oracle中,case when语句用于实现类似于if-then-else逻辑的功能。它的语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
WHEN conditionN THEN resultN
ELSE default_result
END;
```
其中,condition是一个布尔表达式,如果为真则返回对应的result;如果所有的条件都不满足,则返回default_result。
oracle中case when用法
Oracle中的case when语句用于判断一个条件是否成立,根据条件的成立情况返回不同的值。语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中condition1, condition2等为条件,result1, result2等为条件成立时返回的值。当所有条件都不成立时,会返回ELSE后面的result值。
例如:
```
SELECT
CASE
WHEN salary < 5000 THEN 'Low'
WHEN salary >= 5000 AND salary <= 10000 THEN 'Medium'
ELSE 'High'
END
AS "Salary Level"
FROM employees;
```
这个语句会对employees表中的每一行数据,根据salary字段的值判断属于Low,Medium还是High类型。
CASE语句还可以用于字段更新,如:
```
UPDATE employees
SET
salary = CASE
WHEN job_id = 'IT_PROG' THEN salary*1.1
WHEN job_id = 'SALESMAN' THEN salary*1.15
WHEN job_id = 'ANALYST' THEN salary*1.2
ELSE salary
END
WHERE
job_id IN ('IT_PROG', 'SALESMAN', 'ANALYST');
```
这个语句会对job_id为IT_PROG,SALESMAN,ANALYST的员工的工资进行提高。
阅读全文