What Happens If NULL Values Are Involved in Comparison Operations?

Submitted by: Administrator
If NULL values are involved in comparison operations, the result will be Boolean NULL values. This behavior is very interesting because you would expect a comparison operation returns only one of the two values: TRUE and FALSE. But SQL Server may return you a third value: NULL.

The tutorial script below proves that "1>NULL" is not returning TRUE or FALSE. It is returning a third value, NULL:

IF 1>NULL PRINT '1>NULL is returning TRUE'
ELSE PRINT '1>NULL is not returning TRUE'
GO
1>NULL is not returning TRUE

IF NOT 1>NULL PRINT '1>NULL is returning FALSE'
ELSE PRINT '1>NULL is not returning FALSE'
GO
1>NULL is not returning FALSE

Another test proves that "'GGL'=NULL" is not returning TRUE or FALSE. It is returning a third value, NULL:

IF 'GGL'=NULL PRINT '''GGL''=NULL returns TRUE'
ELSE PRINT '''GGL''=NULL does not return TRUE'
GO
'GGL'=NULL does not return TRUE

IF NOT 'GGL'=NULL PRINT '''GGL''=NULL returns FALSE'
ELSE PRINT '''GGL''=NULL does not return FALSE'
GO
'GGL'=NULL does not return FALSE
Submitted by: Administrator

Read Online MS SQL Server Job Interview Questions And Answers