खोज…


परिचय

SQL में NULL , साथ ही साथ सामान्य रूप से प्रोग्रामिंग का अर्थ है, शाब्दिक रूप से "कुछ भी नहीं"। एसक्यूएल में, "किसी भी मूल्य की अनुपस्थिति" के रूप में समझना आसान है।

यह महत्वपूर्ण रूप से खाली मानों से अलग करना महत्वपूर्ण है, जैसे कि रिक्त स्ट्रिंग '' या संख्या 0 , जिनमें से कोई भी वास्तव में NULL

'NULL' तरह, NULL को उद्धरणों में शामिल न करने के लिए सावधान रहना भी महत्वपूर्ण है, जो उन कॉलमों में अनुमति दी जाती है जो टेक्स्ट को स्वीकार करते हैं, लेकिन NULL नहीं NULL और त्रुटियों और गलत डेटा सेट का कारण बन सकता है।

प्रश्नों में NULL के लिए फ़िल्टरिंग

WHERE ब्लॉक में NULL (अर्थात मान का अभाव) के लिए फ़िल्टर करने का सिंटैक्स विशिष्ट मानों के लिए फ़िल्टरिंग से थोड़ा अलग है।

SELECT * FROM Employees WHERE ManagerId IS NULL ;
SELECT * FROM Employees WHERE ManagerId IS NOT NULL ;

ध्यान दें कि क्योंकि NULL कुछ भी बराबर नहीं है, यहां तक कि अपने आप को, समानता ऑपरेटर्स का उपयोग कर = NULL या <> NULL (या != NULL ) हमेशा की सच्चाई मूल्य निकलेगा UNKNOWN है जिसके द्वारा अस्वीकार कर दिया जाएगा WHERE

WHERE सभी पंक्तियों को फ़िल्टर करता है जो स्थिति FALSE या UKNOWN और केवल उन पंक्तियों को रखता है जो स्थिति TRUE

तालिकाओं में अशक्त स्तंभ

तालिकाओं का निर्माण करते समय एक स्तंभ को अशक्त या गैर-अशक्त घोषित करना संभव है।

CREATE TABLE MyTable
(
    MyCol1 INT NOT NULL, -- non-nullable
    MyCol2 INT NULL      -- nullable
) ;

डिफ़ॉल्ट रूप से प्रत्येक स्तंभ (प्राथमिक कुंजी बाधा में उन लोगों को छोड़कर) NOT NULL जब तक कि हम स्पष्ट रूप से NOT NULL बाधा NOT NULL निर्धारित करें।

NULL को एक NULL स्तंभ में निर्दिष्ट करने का प्रयास करने के परिणामस्वरूप त्रुटि होगी।

INSERT INTO MyTable (MyCol1, MyCol2) VALUES (1, NULL) ;  -- works fine

INSERT INTO MyTable (MyCol1, MyCol2) VALUES (NULL, 2) ;  
        -- cannot insert
        -- the value NULL into column 'MyCol1', table 'MyTable'; 
        -- column does not allow nulls. INSERT fails.

फ़ील्ड को NULL में अपडेट कर रहा है

NULL लिए फ़ील्ड सेट करना किसी भी अन्य मान के समान कार्य करता है:

UPDATE Employees 
SET ManagerId = NULL
WHERE Id = 4

NULL फ़ील्ड के साथ पंक्तियाँ सम्मिलित करना

उदाहरण के लिए किसी कर्मचारी को बिना फ़ोन नंबर और किसी प्रबंधक के साथ कर्मचारी उदाहरण तालिका में सम्मिलित करना:

INSERT INTO Employees
    (Id, FName, LName, PhoneNumber, ManagerId, DepartmentId, Salary, HireDate)
VALUES
    (5, 'Jane', 'Doe', NULL, NULL, 2, 800, '2016-07-22') ;


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow