NULL Values Involved in Boolean Operations in SQL Server

Q

What Happens If NULL Values Are Involved in Boolean Operations in SQL Server Transact-SQL?

✍: FYIcenter.com

A

If NULL values are involved in Boolean operations, the result will vary depending on the operator type. For AND operator, FALSE takes precedence over NULL. The result can be summarized in a table below:

AND     TRUE    FALSE   NULL
TRUE    true    false   null
FALSE   false   false   false
NULL    null    false   null

For OR operator, TRUE takes precedence over NULL. The result can be summarized in a table below:

OR      TRUE    FALSE   NULL
TRUE    true    true    true
FALSE   true    false   null
NULL    true    null    null

The tutorial script below shows you that NULL AND FALSE returns FALSE:

IF 0=NULL AND 0=1 PRINT 'NULL AND FALSE returns TRUE'
ELSE PRINT 'NULL AND FALSE does not returns TRUE'
GO
NULL AND FALSE does not returns TRUE

IF NOT (0=NULL AND 0=1) 
  PRINT 'NULL AND FALSE returns FALSE'
ELSE PRINT 'NULL AND FALSE does not returns FALSE'
GO
NULL AND FALSE returns FALSE

 

Working with NULL Values in SQL Server Transact-SQL

⇒⇒SQL Server Transact-SQL Tutorials

2017-02-03, 213👍, 0💬