如何在Oracle中使用casewhen进行条件判断

1493
2024/9/7 6:31:57
栏目: 云计算
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

在Oracle数据库中,可以使用CASE WHEN语句进行条件判断

SELECT column1, column2, ...,
       CASE
           WHEN condition1 THEN result1
           WHEN condition2 THEN result2
           ...
           ELSE resultN
       END AS new_column_name
FROM table_name
WHERE conditions;

这里是一个具体的例子。假设我们有一个名为employees的表,包含以下列:employee_id、first_name、last_name、salary和department_id。现在,我们想要查询每个员工的姓名和工资,并根据部门ID将其分类为不同的部门名称。

SELECT first_name, last_name, salary,
       CASE
           WHEN department_id = 1 THEN 'HR'
           WHEN department_id = 2 THEN 'IT'
           WHEN department_id = 3 THEN 'Finance'
           ELSE 'Other'
       END AS department_name
FROM employees;

在这个例子中,我们使用CASE WHEN语句根据department_id列的值将员工分配给相应的部门名称。如果department_id为1,则部门名称为’HR’;如果department_id为2,则部门名称为’IT’,以此类推。如果department_id不是1、2或3,则部门名称为’Other’。最后,我们将计算出的部门名称作为新的列“department_name”返回。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: oracle表中相同字段数据求和的方法是什么