SQL NVL 函数

SQL NVL是一个Oracle函数,用于将NULL值替换为另一个值。它与MS SQL Server中的 ISNULL 函数 和MySQL中的 IFNULL 函数类似。

SQL NVL函数语法

NVL(exp1, exp2)

如果exp1值为null,NVL函数将返回exp2,否则将返回exp1。Exp1和exp2必须是相同或相容的数据类型。

SQL NVL函数范例

数据表: Employees

EmployeeId FirstName LastName Department Salary
203 Mazojys Fxoj Finance 78000
204 Jozzh Lnanyo Finance NULL
205 Syllauu Dfaafk Finance 57000
206 Gecrrcc Srlkrt Finance 62000

例1

SELECT EmployeeId, NVL(Salary, 50000) AS Salary 
FROM Employees;

结果会类似于:

EmployeeId Salary
203 78000
204 50000
205 57000
206 62000

例2

SELECT SUM(NVL(Salary, 50000)) AS TotalSalary 
FROM Employees;

结果会类似于:

TotalSalary
247000