如何在Oracle中使用casewhen進(jìn)行條件判斷

小樊
133
2024-09-07 04:38:14
欄目: 云計(jì)算

在Oracle數(shù)據(jù)庫中,可以使用CASE WHEN語句進(jìn)行條件判斷

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

這里是一個(gè)具體的例子。假設(shè)我們有一個(gè)名為employees的表,包含以下列:employee_id、first_name、last_name、salary和department_id?,F(xiàn)在,我們想要查詢每個(gè)員工的姓名和工資,并根據(jù)部門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;

在這個(gè)例子中,我們使用CASE WHEN語句根據(jù)department_id列的值將員工分配給相應(yīng)的部門名稱。如果department_id為1,則部門名稱為’HR’;如果department_id為2,則部門名稱為’IT’,以此類推。如果department_id不是1、2或3,則部門名稱為’Other’。最后,我們將計(jì)算出的部門名稱作為新的列“department_name”返回。

0