उस मामले में अशक्त को "अज्ञात" के रूप में सोचें (या "मौजूद नहीं है")। इनमें से किसी भी स्थिति में, आप यह नहीं कह सकते कि वे समान हैं, क्योंकि आप दोनों में से किसी का भी मूल्य नहीं जानते हैं। इसलिए, null=null सही नहीं (आपके सिस्टम के आधार पर गलत या अशक्त) का मूल्यांकन करता है, क्योंकि आप यह कहने के लिए मान नहीं जानते हैं कि वे समान हैं। यह व्यवहार ANSI SQL-92 मानक में परिभाषित किया गया है।
संपादित करें:यह आपकी ansi_nulls सेटिंग पर निर्भर करता है। यदि आपके पास ANSI_NULLS बंद है, तो इसका मूल्यांकन सत्य होगा। उदाहरण के लिए निम्न कोड चलाएँ...
set ansi_nulls off
if null = null
print 'true'
else
print 'false'
set ansi_nulls ON
if null = null
print 'true'
else
print 'false'