Zie de nul in dat geval als "onbekend" (of "bestaat niet"). In beide gevallen kun je niet zeggen dat ze gelijk zijn, omdat je de waarde van geen van beide kent. Dus null=null evalueert tot niet waar (false of null, afhankelijk van uw systeem), omdat u de waarden niet kent om te zeggen dat ze gelijk ZIJN. Dit gedrag is gedefinieerd in de ANSI SQL-92-standaard.
EDIT:Dit hangt af van je ansi_nulls-instelling. als je ANSI_NULLS hebt uitgeschakeld, zal dit worden geëvalueerd als waar. Voer de volgende code uit voor een voorbeeld...
set ansi_nulls off
if null = null
print 'true'
else
print 'false'
set ansi_nulls ON
if null = null
print 'true'
else
print 'false'