दिलचस्प पोस्ट
STD :: आगे कैसे काम करता है? आईआईएस एक्सप्रेस 8 बीटा को 64-बिट प्रक्रिया के रूप में वेबसाइट चलाने के लिए नहीं मिल सकता है डेल्फी के लिए संपादन / कॉम्बो नियंत्रण की तरह Google? नेटवर्क शेयर से कनेक्ट करते समय उपयोगकर्ता नाम और पासवर्ड कैसे प्रदान करें स्प्लिट ("|") का उपयोग करके पाइप प्रतीक द्वारा जावा स्ट्रिंग को विभाजित करना int सरणी का आकार ढूंढना टर्मिनल में जीआईटी स्टेटस की सूची से कैसे बाहर निकलना है? प्रतिबंध केवल एक रिकॉर्ड के लिए डिफ़ॉल्ट के रूप में चिह्नित है सही पक्ष पर बूटस्ट्रैप 4 navbar आइटम MVC4 स्टाइलबंडल चित्रों को हल नहीं कर रहा है PHP सरणी के प्रत्येक आइटम के लिए एक उपसर्ग जोड़ें एंड्रॉइड अधिसूचना ध्वनि कैसे खेलें बाइट सरणी छवि वस्तु के लिए ओवरराइड फ़ंक्शन (जैसे "चेतावनी") और मूल फ़ंक्शन कॉल करें? एनएसडीटे वर्ष / महीना / दिन प्राप्त करें

एक्सेस एसक्यूएल में विकल्प एकत्रित करें

टी-एसक्यूएल में, आप यह कर सकते हैं:

SELECT ProductId, COALESCE(Price, 0) FROM Products 

आप एक्सेस एसक्यूएल में एक ही चीज़ कैसे करते हैं? मैं इसे वीबीए में एनजे के साथ करने के उदाहरण देखता हूं, लेकिन मैं एसक्यूएल समकक्ष की तलाश कर रहा हूं।

धन्यवाद।

वेब के समाधान से एकत्रित समाधान "एक्सेस एसक्यूएल में विकल्प एकत्रित करें"

पहुँच Nz फ़ंक्शन का समर्थन करता है और आपको इसे क्वेरी में उपयोग करने की अनुमति देता है। हालांकि ध्यान दें कि NZ टी-एसक्यूएल ISNULL फ़ंक्शन के समान है। यह पैरामीटरों जैसे कोएल्सेस की एक आकस्मिक संख्या नहीं ले सकता है।

यदि यह किसी एक्सेस क्वेरी में है, तो आप यह कोशिश कर सकते हैं:

 "Price = IIf([Price] Is Null,0,[Price])" 

ऐसा लगता है कि मैं बस का उपयोग कर सकते हैं:

 SELECT ProductId, Nz(Price, 0) FROM Products 

सिर्फ ठीक काम करने लगता है

Iif(Price is null, 0, Price) का इस्तेमाल करना Iif(Price is null, 0, Price) आपको सर्वश्रेष्ठ प्रदर्शन देना चाहिए ( एलन ब्राउन की प्रदर्शन युक्तियां देखें )। हालांकि SQL सर्वर Coalesce() Iif() और Iif() पर महान लाभ है कि यह एक झरना में कई मापदंडों को नियंत्रित कर सकता है इसलिए मैंने इस त्वरित VBA समकक्ष बनाया:

 Function Coalesce(ParamArray varValues()) As Variant 'returns the first non null value, similar to SQL Server Coalesce() function 'Patrick Honorez --- www.idevlop.com Dim i As Integer Coalesce = Null For i = LBound(varValues) To UBound(varValues) If Not IsNull(varValues(i)) Then Coalesce = varValues(i) Exit Function End If Next End Function 

IsNull() , IsNull() का उपयोग करना, और डेटा रूपांतरण फ़ंक्शंस अंतर्निर्मित VBA फ़ंक्शंस हैं और 2003 से पहले संस्करणों में आपकी क्वेरी को केवल धीमा कर देगी। जहाँ तक डेटाैटिंग आपके डेटा प्रकार की गारंटी देने के लिए CCur() का उपयोग CCur() , लेकिन केवल अगर आपको मजबूत तुलना करने की आवश्यकता है या बस प्रारूप पर संपत्ति को मुद्रा पर सेट करें। यह IF स्टेटमेंट है जो चीजों को सबसे अधिक धीमा करता है, क्योंकि यह आपकी रूटीन में एक और फ़ंक्शन जोड़ता है

इस समाधान का उपयोग करते हुए: Nz([Price], CCur(0))

केवल समय CCur() निष्पादित होगा जब मूल्य की नल है, तो कुल मिलाकर यह संभवतः सबसे तेज है।

मुद्दा यह है कि कम से कम कुल कार्यों की संख्या का इस्तेमाल होता है , तेज़ी से आपके प्रश्नों को निष्पादित किया जाएगा।

COALESCE या NULLIF फ़ंक्शन, उपयोग करने के लिए एक अच्छा माइग्रेशन के लिए एसक्यूएल सर्वर पर उपयोग किए जाने वाले मानक हैं। ISNULLOR आईआईएफ या विकल्प अमानक समारोह हैं I