SQLite में sum()
नामक एक फंक्शन होता है और एक अन्य फ़ंक्शन जिसे total()
. कहा जाता है . दोनों कार्य लगभग एक ही काम करते हैं - वे एक समूह में सभी गैर-शून्य मानों का योग लौटाते हैं।
लेकिन इन दोनों कार्यों में एक सूक्ष्म अंतर है।
अंतर यह है कि वे NULL इनपुट को कैसे हैंडल करते हैं।
अंतर
यहां पर ये दोनों कार्य भिन्न हैं।
यदि कोई गैर-नल इनपुट पंक्तियाँ नहीं हैं:
sum()
NULL लौटाता हैtotal()
रिटर्न 0.0
उदाहरण
SQLite sum()
के बीच अंतर प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है और total()
कार्य।
SELECT
sum(NULL),
total(NULL);
परिणाम:
sum(NULL) total(NULL) ---------- ----------- 0.0
पहला कॉलम खाली है, क्योंकि यह NULL है।
अंतर क्यों?
इस एक अंतर को छोड़कर एक ही काम करने वाले दो कार्यों के होने का कारण यह है कि, sum()
पूरी तरह से मानकों के अनुरूप है। SQL मानक के लिए आवश्यक है कि sum()
फ़ंक्शन रिटर्न NULL जब उसका इनपुट NULL होता है।
NULL लौटाना मानकों के अनुरूप हो सकता है, लेकिन यदि आप किसी संख्या की अपेक्षा कर रहे हैं तो यह विशेष रूप से उपयोगी नहीं है।
total()
इसलिए फ़ंक्शन को sum()
. के अधिक उपयोगी विकल्प के रूप में प्रदान किया गया है .
आप चुन सकते हैं कि आप किस फ़ंक्शन का उपयोग करना पसंद करते हैं, इस पर निर्भर करता है कि आप फ़ंक्शन को NULL मानों से कैसे निपटना चाहते हैं (और आप कितने मानकों के अनुरूप होना पसंद करते हैं)।
आपका निर्णय इस बात से भी प्रभावित हो सकता है कि आप अपने कोड को कितना पोर्टेबल बनाना चाहते हैं। योग () अन्य प्रमुख डीबीएमएस में अधिक सामान्यतः उपयोग किया जाने वाला फ़ंक्शन नाम प्रतीत होता है।