⟩ What Happens If NULL Values Are Involved in Boolean Operations?
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 NULLTRUE 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 NULLTRUE 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