Summary -

In this topic, we described about the IS NULL Function with detailed example.

IS NULL function returns specified value if the expression is NULL otherwise it returns the expression. By using ISNULL function we can replace the NULL values with specified value in result set only. By using ISNULL function we cannot change the values in the table. IS NULL returns numeric or string values based on the scenario. IS NULL function works on SQL SERVER 2008 onwards.

Syntax -

ISNULL (Expression1, Expression2|Value)  FROM table ; 
  • Expression1 – It represents the name of the expression or column name on which we want to test NULL values.
  • Expression2 – It represents the name of the expression or column name which we want to insert values on nullable column.
  • Value – It represents the value that we need to specify on required column which have the NULL values.

Example –

Let us consider below table(s) as an example table(s) to frame the SQL query for getting the desired results.

employee_details -

emp_id emp_name designation manager_id date_of_hire salary dept_id
001 Employee1 Director 2019-07-11 45000.00 1000
002 Employee2 Director 2019-07-11 40000.00 2000
003 Employee3 Manager Employee1 2019-07-11 27000.00 1000
004 Employee4 Manager Employee2 2019-10-08 25000.00 2000
005 Employee5 Analyst Employee3 2019-07-11 20000.00 1000
006 Employee6 Analyst Employee3 2019-10-08 18000.00 1000
007 Employee7 Clerk Employee3 2019-07-11 15000.00 1000
008 Employee8 Salesman Employee4 2019-09-09 14000.00 2000
009 Employee9 Salesman Employee4 2019-10-08 13000.00 2000

Scenario – Replacing NULL values in the existing table with specified value in result set.

Requirement – Replacing NULL values in employee_details with specified value in result set. The query was as follows –

SELECT  emp_id, emp_name, designation, 
ISNULL(manager_id,'Employee0')manager_id  
FROM employee_details; 

By executing above query we can get specified value on manager_id column in employee_details table on result set. The output was as follows –

emp_id emp_name designation manager_id
001 Employee1 Director Employee0
002 Employee2 Director Employee0
003 Employee3 Manager Employee1
004 Employee4 Manager Employee2
005 Employee5 Analyst Employee3
006 Employee6 Analyst Employee3
007 Employee7 Clerk Employee3
008 Employee8 Salesman Employee4
009 Employee9 Salesman Employee4

Scenario – If we trying to put specified values on NOT NULL column in existing table by using ISNULL.

Requirement – If we trying to specify on designation NOT NULL column in employee_details with Analyst by using ISNULL. The query was as follows –

SELECT emp_id, emp_name, 
ISNULL (designation, 'Analyst') designation 
FROM employee_details; 

By executing above query we can get existing designation values instead of getting specified Analyst value because the designation column does not have NULL values. The output was as follows –

emp_id emp_name designation
001 Employee1 Director
002 Employee2 Director
003 Employee3 Manager
004 Employee4 Manager
005 Employee5 Analyst
006 Employee6 Analyst
007 Employee7 Clerk
008 Employee8 Salesman
009 Employee9 Salesman

Scenario – If we trying to combine multiple columns which have NULL values getting without NULL values in result set on existing table by using ISNULL function.

Requirement – If we trying to add emp_id, emp_name, manager_id, designation columns on employee_details table without getting NULL values by using ISNULL function. The query was as follows –

SELECT emp_name + ISNULL(manager_id, ' ') + designation 
'NAME WITH DESIGNATION' FROM employee_details; 

By executing above query, we can get output without NULL values in result set from employee_details table. The output was as follows -

NAME WITH DESIGNATION
Employee1 Director
Employee2 Director
Employee3Employee1Manager
Employee4Employee2Manager
Employee5Employee3Analyst
Employee6Employee3Analyst
Employee7Employee3Clerk
Employee8Employee4Salesman
Employee9Employee4Salesman

Scenario – Replacing NULL values in the existing table with another specified column value in result set by using ISNULL.

Requirement – Replacing NULL values in employee_details with designation value in result set by using ISNULL. The query was as follows –

SELECT emp_id,emp_name,ISNULL(manager_id, designation) manager_id
FROM employee_details; 

By executing above query we can replace NULL values on manager_id column in existing employee_details table with designation column values. The output was as follows -

emp_id emp_name manager_id
001 Employee1 Director
002 Employee2 Director
003 Employee3 Employee1
004 Employee4 Employee2
005 Employee5 Employee3
006 Employee6 Employee3
007 Employee7 Employee3
008 Employee8 Employee4
009 Employee9 Employee4