程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> SQL基礎知識 >> SQL NULL 值 – IS NULL 和 IS NOT NULL

SQL NULL 值 – IS NULL 和 IS NOT NULL

編輯:SQL基礎知識

SQL NULL 值


NULL 值代表遺漏的未知數據。

默認地,表的列可以存放 NULL 值。

本章講解 IS NULL 和 IS NOT NULL 操作符。


SQL NULL 值

如果表中的某個列是可選的,那麼我們可以在不向該列添加值的情況下插入新記錄或更新已有的記錄。這意味著該字段將以 NULL 值保存。

NULL 值的處理方式與其他值不同。

NULL 用作未知的或不適用的值的占位符。

Note注釋:無法比較 NULL 和 0;它們是不等價的。


SQL 的 NULL 值處理

請看下面的 "Persons" 表:

P_Id LastName FirstName Address City 1 Hansen Ola Sandnes 2 Svendson Tove Borgvn 23 Sandnes 3 Pettersen Kari Stavanger

假如 "Persons" 表中的 "Address" 列是可選的。這意味著如果在 "Address" 列插入一條不帶值的記錄,"Address" 列會使用 NULL 值保存。

那麼我們如何測試 NULL 值呢?

無法使用比較運算符來測試 NULL 值,比如 =、< 或 <>。

我們必須使用 IS NULL 和 IS NOT NULL 操作符。


SQL IS NULL

我們如何僅僅選取在 "Address" 列中帶有 NULL 值的記錄呢?

我們必須使用 IS NULL 操作符:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NULL

結果集如下所示:

LastName FirstName Address Hansen Ola Pettersen Kari

Note提示:請始終使用 IS NULL 來查找 NULL 值。


SQL IS NOT NULL

我們如何僅僅選取在 "Address" 列中不帶有 NULL 值的記錄呢?

我們必須使用 IS NOT NULL 操作符:

SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL

結果集如下所示:

LastName FirstName Address Svendson Tove Borgvn 23

在下一節中,我們了解 ISNULL()、NVL()、IFNULL() 和 COALESCE() 函數。


  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved