oracle中case when用法
时间: 2023-04-29 15:04:07 浏览: 111
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的员工的工资进行提高。
阅读全文