कारण <>
काम नहीं करता है कि SQL NULL
का व्यवहार करता है अज्ञात के रूप में - यह नहीं जानता कि NULL
. क्या है मतलब माना जाता है, इसलिए यह दोनों का मूल्यांकन करता है =
और <>
एक NULL
. पर मान UNKNOWN
. के रूप में (जिसे जहां क्लॉज या जॉइन कंडीशन में गलत माना जाता है)। अधिक जानकारी के लिए, इसे पढ़ें: SQL सर्वर में NULL =NULL का मूल्यांकन असत्य पर क्यों होता है
।
यदि इस पर कोई अनुक्रमणिका है, तो ISNULL फ़ंक्शन का उपयोग करने का अर्थ यह होगा कि अनुक्रमणिका का उपयोग नहीं किया जा सकता है, इसलिए यह सुनिश्चित करने के लिए कि क्वेरी अनुक्रमणिका का उपयोग कर सकती है, बस OR
का उपयोग करें :
SELECT *
FROM TableName
WHERE
bit_column_value IS NULL OR bit_column_value = 0