Thursday, November 18, 2010

SQL NULL Values

SQL NULL Values

NULL values represent missing unknown data.
By default, a table column can hold NULL values.
This chapter will explain the IS NULL and IS NOT NULL operators.


SQL NULL Values

If a column in a table is optional, we can insert a new record or update an existing record without 


adding a value to this column. This means that the field will be saved with a NULL value.


NULL values are treated differently from other values.


NULL is used as a placeholder for unknown or inapplicable values.


Note: It is not possible to compare NULL and 0; they are not equivalent.



SQL Working with NULL Values

Look at the following "Persons" table:


P_Id
LastName
FirstName
Address
City
1
Hansen
Ola

Sandnes
2
Svendson
Tove
Borgvn 23
Sandnes
3
Pettersen
Kari

Stavanger


Suppose that the "Address" column in the "Persons" table is optional. This means that if we insert a 


record with no value for the "Address" column, the "Address" column will be saved with a NULL value.


How can we test for NULL values?


It is not possible to test for NULL values with comparison operators, such as =, <, or <>.


We will have to use the IS NULL and IS NOT NULL operators instead.



SQL IS NULL



How do we select only the records with NULL values in the "Address" column?


We will have to use the IS NULL operator:


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


The result-set will look like this:


LastName
FirstName
Address
Hansen
Ola

Pettersen
Kari

Note Tip: Always use IS NULL to look for NULL values.

SQL IS NOT NULL



How do we select only the records with no NULL values in the "Address" column?


We will have to use the IS NOT NULL operator:


SELECT LastName,FirstName,Address FROM Persons
WHERE Address IS NOT NULL
The result-set will look like this:
LastName
FirstName
Address
Svendson
Tove
Borgvn 23


In the next chapter we will look at the ISNULL(), NVL(), IFNULL() and COALESCE() functions.

Dont Miss Another Post Connect With Us !

Enter your email address:

0 comments: