ठीक है, एप्लिकेशन डेवलपर के दृष्टिकोण से, ये सेटिंग्स क्या करती हैं:
QUOTED_IDENTIFIER
यह सेटिंग नियंत्रित करती है कि कैसे उद्धरण चिह्न ".."
SQL कंपाइलर द्वारा व्याख्या की जाती है। जब QUOTED_IDENTIFIER
चालू है तो उद्धरणों को कोष्ठक की तरह माना जाता है ([...]
) और SQL ऑब्जेक्ट नामों को उद्धृत करने के लिए उपयोग किया जा सकता है जैसे तालिका नाम, कॉलम नाम, आदि। जब यह बंद होता है (अनुशंसित नहीं), तो उद्धरणों को एपोस्ट्रोफ ('..'
की तरह माना जाता है। ) और SQL कमांड में टेक्स्ट स्ट्रिंग्स को उद्धृत करने के लिए इस्तेमाल किया जा सकता है।
ANSI_NULLS
यह सेटिंग नियंत्रित करती है कि क्या होता है जब आप IS
. के अलावा किसी अन्य तुलना ऑपरेटर का उपयोग करने का प्रयास करते हैं न्यूल पर। जब यह चालू होता है, तो ये तुलनाएं उस मानक का पालन करती हैं जो कहता है कि NULL से तुलना करना हमेशा विफल रहता है (क्योंकि यह कोई मान नहीं है, यह एक ध्वज है) और FALSE
लौटाता है . जब यह सेटिंग बंद हो (वास्तव में नहीं अनुशंसित) आप इसे सफलतापूर्वक मान सकते हैं और =
. का उपयोग कर सकते हैं , <>
, आदि उस पर और उपयुक्त के रूप में TRUE वापस प्राप्त करें।
इसे संभालने का उचित तरीका इसके बजाय IS
. का उपयोग करना है (ColumnValue IS NULL ..
)।
CONCAT_NULL_YIELDS_NULL
यह सेटिंग नियंत्रित करती है कि स्ट्रिंग अभिव्यक्तियों में उपयोग किए जाने वाले एनयूएलएल "प्रस्तावित" करते हैं या नहीं। जब यह सेटिंग चालू होती है, तो यह मानक और एक व्यंजक जैसे 'some string' + NULL ..
का पालन करती है हमेशा NULL लौटाता है। इस प्रकार, स्ट्रिंग संयोजनों की एक श्रृंखला में, एक NULL पूरे एक्सप्रेशन को NULL वापस करने का कारण बन सकता है। इसे बंद करने (भी, अनुशंसित नहीं) के कारण NULLs को इसके बजाय खाली स्ट्रिंग्स की तरह माना जाएगा, इसलिए 'some string' + NULL
बस 'some string'
. का मूल्यांकन करता है .
इसे संभालने का उचित तरीका COALESCE (या ISNULL) फ़ंक्शन के साथ है:'some string' + COALESCE(NULL, '') ..
।