Tænk på nullet som "ukendt" i så fald (eller "eksisterer ikke"). I nogen af disse tilfælde kan du ikke sige, at de er ens, fordi du ikke kender værdien af nogen af dem. Så null=null evalueres til ikke sand (falsk eller null, afhængigt af dit system), fordi du ikke kender værdierne for at sige, at de ER ens. Denne adfærd er defineret i ANSI SQL-92-standarden.
EDIT:Dette afhænger af din ansi_nulls indstilling. hvis du har ANSI_NULLS fra, VIL dette vurderes til sandt. Kør følgende kode for et eksempel...
set ansi_nulls off
if null = null
print 'true'
else
print 'false'
set ansi_nulls ON
if null = null
print 'true'
else
print 'false'