SQL Server/T-SQL Tutorial/Query/IS NULL
A SELECT statement that retrieves rows with null values
<source lang="sql">
5> 6> create table Billings ( 7> BankerID INTEGER, 8> BillingNumber INTEGER, 9> BillingDate datetime, 10> BillingTotal INTEGER, 11> TermsID INTEGER, 12> BillingDueDate datetime , 13> PaymentTotal INTEGER, 14> CreditTotal INTEGER 15> 16> ); 17> GO 1> 2> INSERT INTO Billings VALUES (1, 1, "2005-01-22", 165, 1,"2005-04-22",123,321); 3> GO (1 rows affected) 1> INSERT INTO Billings VALUES (2, 2, "2001-02-21", 165, 1,"2002-02-22",123,321); 2> GO (1 rows affected) 1> INSERT INTO Billings VALUES (3, 3, "2003-05-02", 165, 1,"2005-04-12",123,321); 2> GO (1 rows affected) 1> INSERT INTO Billings VALUES (4, 4, "1999-03-12", 165, 1,"2005-04-18",123,321); 2> GO (1 rows affected) 1> INSERT INTO Billings VALUES (5, 5, "2000-04-23", 165, 1,"2005-04-17",123,321); 2> GO (1 rows affected) 1> INSERT INTO Billings VALUES (6, 6, "2001-06-14", 165, 1,"2005-04-18",123,321); 2> GO (1 rows affected) 1> INSERT INTO Billings VALUES (7, 7, "2002-07-15", 165, 1,"2005-04-19",123,321); 2> GO (1 rows affected) 1> INSERT INTO Billings VALUES (8, 8, "2003-08-16", 165, 1,"2005-04-20",123,321); 2> GO (1 rows affected) 1> INSERT INTO Billings VALUES (9, 9, "2004-09-17", 165, 1,"2005-04-21",123,321); 2> GO (1 rows affected) 1> INSERT INTO Billings VALUES (0, 0, "2005-10-18", 165, 1,"2005-04-22",123,321); 2> GO (1 rows affected) 1> 2> 3> SELECT * 4> FROM Billings 5> WHERE BillingTotal IS NULL 6> GO BankerID BillingNumber BillingDate BillingTotal TermsID BillingDueDate PaymentTotal CreditTotal
------------- ----------------------- ------------ ----------- ----------------------- ------------ -----------
(0 rows affected) 1> 2> drop table Billings; 3> GO 1></source>
IS NULL and = NULL
<source lang="sql">
4> 5> CREATE TABLE titleauthor( 6> au_id varchar(20), 7> title_id varchar(20), 8> au_ord tinyint NULL, 9> royaltyper int NULL 10> ) 11> GO 1> 2> insert titleauthor values(null, "2", 1, 60) 3> insert titleauthor values("2", "3", 1, 100) 4> insert titleauthor values("3", "4", 1, 100) 5> insert titleauthor values("4", "5", 1, 100) 6> insert titleauthor values("5", "6", 1, 100) 7> insert titleauthor values("6", "7", 2, 40) 8> insert titleauthor values("7", "8", 1, 100) 9> insert titleauthor values("8", "9", 1, 100) 10> GO (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) (1 rows affected) 1> 2> select * from titleauthor where au_id is null; 3> GO au_id title_id au_ord royaltyper
-------------------- ------ -----------
NULL 2 1 60 (1 rows affected) 1> select * from titleauthor where au_id = null; 2> GO au_id title_id au_ord royaltyper
-------------------- ------ -----------
(0 rows affected)</source>
The syntax of the WHERE clause with the IS NULL clause
<source lang="sql">
WHERE expression IS [NOT] NULL The contents of the NullSample table SELECT * FROM NullSample</source>