NVL 函數(shù)是 Oracle PL/SQL 中的一個內(nèi)置函數(shù),用于處理 NULL 值
以下是 NVL 函數(shù)的語法:
NVL(expression1, expression2)
其中,expression1
是要檢查的表達(dá)式,expression2
是如果 expression1
為 NULL 時返回的替代值。
以下是一個簡單的示例,說明如何在 PL/SQL 塊中使用 NVL 函數(shù):
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 的薪水,并將結(jié)果存儲在 v_salary
變量中。接下來,我們使用 NVL 函數(shù)將 v_salary
設(shè)置為查詢到的薪水或 0(如果查詢結(jié)果為 NULL)。最后,我們輸出員工的薪水。
在這個示例中,如果指定的員工 ID 不存在,那么 v_salary
將保持為 NULL,NVL 函數(shù)將其設(shè)置為 0。然后,我們輸出員工的薪水,即使它是 0。