MS SQL Server Concepts and Programming Question:
What Happens If NULL Values Are Involved in Boolean Operations?
Answer:
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:
<pre>AND TRUE FALSE NULL
TRUE true false null
FALSE false false false
NULL null false null</pre>
For OR operator, TRUE takes precedence over NULL. The result can be summarized in a table below:
<pre>OR TRUE FALSE NULL
TRUE true true true
FALSE true false null
NULL true null null</pre>
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
<pre>AND TRUE FALSE NULL
TRUE true false null
FALSE false false false
NULL null false null</pre>
For OR operator, TRUE takes precedence over NULL. The result can be summarized in a table below:
<pre>OR TRUE FALSE NULL
TRUE true true true
FALSE true false null
NULL true null null</pre>
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
Previous Question | Next Question |
What Happens If NULL Values Are Involved in Comparison Operations? | How To Replace NULL Values in Expressions using ISNULL()? |