NVL 函数是 Oracle PL/SQL 中的一个内置函数,用于处理 NULL 值
以下是 NVL 函数的语法:
NVL(expression1, expression2)
其中,expression1
是要检查的表达式,expression2
是如果 expression1
为 NULL 时返回的替代值。
以下是一个简单的示例,说明如何在 PL/SQL 块中使用 NVL 函数:
DECLARE
v_employee_id NUMBER := 100;
v_salary NUMBER;
BEGIN
SELECT salary
INTO v_salary
FROM employees
WHERE employee_id = v_employee_id;
v_salary := NVL(v_salary, 0);
DBMS_OUTPUT.PUT_LINE('Employee ' || v_employee_id || ' has a salary of ' || v_salary);
EXCEPTION
WHEN NO_DATA_FOUND THEN
DBMS_OUTPUT.PUT_LINE('Employee ' || v_employee_id || ' not found');
END;
/
在这个示例中,我们首先声明了两个变量:v_employee_id
和 v_salary
。然后,我们从 employees
表中查询指定员工 ID 的薪水,并将结果存储在 v_salary
变量中。接下来,我们使用 NVL 函数将 v_salary
设置为查询到的薪水或 0(如果查询结果为 NULL)。最后,我们输出员工的薪水。
在这个示例中,如果指定的员工 ID 不存在,那么 v_salary
将保持为 NULL,NVL 函数将其设置为 0。然后,我们输出员工的薪水,即使它是 0。