MS SQL Server Concepts and Programming Question:
Download Job Interview Questions and Answers PDF
What Happens If NULL Values Are Involved in Comparison Operations?
Answer:
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
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
Download MS SQL Server Interview Questions And Answers
PDF
Previous Question | Next Question |
What Happens If NULL Values Are Involved in Bitwise Operations? | What Happens If NULL Values Are Involved in Boolean Operations? |