SQL IS NULL函数
仅仅选取在 "Address" 列中带有 NULL 值的记录spa
select LastName,FirstName,Address FROM Personsit
where Address is nullast
结果集:select
LastName FirstName Addressco
Adams John 工作
Carter Thomas background
提示:请始终使用 IS NULL 来查找 NULL 值。
SQL IS NOT NULL
使用 IS NOT NULL 操做符:
select LastName,FirstName,Address FROM Persons
where Address is not null
结果集:
LastName FirstName Address
Bush George Fifth Avenue
SQL isnull()、nvl()、ifnull() 和 coalesce() 函数
P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 computer 699 25 15
2 printer 365 36
3 telephone 280 159 57
假如 "UnitsOnOrder" 是可选的,并且能够包含 NULL 值。
使用以下 SELECT 语句:
SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products
在上面的例子中,若是有 "UnitsOnOrder" 值是 NULL,那么结果是 NULL。
微软的 ISNULL() 函数用于规定如何处理 NULL 值。
nvl(), ifnull() 和 coalesce() 函数也能够达到相同的结果。
在这里,但愿 NULL 值为 0。
下面,若是 "UnitsOnOrder" 是 NULL,则不利于计算,所以若是值是 NULL 则 ISNULL() 返回 0。
SQL Server / MS Access
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products
Oracle
Oracle 没有 ISNULL() 函数。能够使用 nvl() 函数达到相同的结果:
SELECT ProductName,UnitPrice*(UnitsInStock+nvl(UnitsOnOrder,0))
FROM Products
MySQL
MySQL 也拥有相似 isnull() 的函数。不过它的工做方式与微软的 ISNULL() 函数有点不一样。
在 MySQL 中,能够使用 IFNULL() 函数,就像这样:
SELECT ProductName,UnitPrice*(UnitsInStock+ifnull(UnitsOnOrder,0))
FROM Products
或者能够使用 coalesce()函数,就像这样:
SELECT ProductName,UnitPrice*(UnitsInStock+coalesce(UnitsOnOrder,0))
FROM Products