Ist „NULL = NULL“? Oder ist es doch nicht?

Der Code stammt nicht von mir und weiß leider nicht mehr wer die Abfrage geschrieben hat. Aber er/sie hat sehr gutes SELECT über dem „NULL Problem“ geschrieben:

DECLARE @Var int;
SET @Var = NULL;

IF @Var = 8 OR @Var <> 8
  PRINT 'It either is or isn''t 8';
ELSE 
  PRINT 'Huh? It''s not 8, but it''s not not 8 either!';

IF @Var = @Var
  PRINT 'Duh, of course it''s equal to itself';
ELSE 
  PRINT 'What the hey, it''s not even equal to itself!!';

 

Print Friendly, PDF & Email