एसक्यूएल नल फ़ंक्शन
- पिछला पृष्ठ SQL नल
- अगला पृष्ठ एसक्यूएल डेटा टाइप
SQL ISNULL()、NVL()、IFNULL() और COALESCE() फ़ंक्शन
नीचे दिए "Products" तालिका को देखें:
P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
---|---|---|---|---|
1 | कंप्यूटर | 699 | 25 | 15 |
2 | प्रिंटर | 365 | 36 | |
3 | टेलिफोन | 280 | 159 | 57 |
यदि "UnitsOnOrder" वैकल्पिक है और NULL मूल्य शामिल हो सकता है。
हमने नीचे दिए हुए SELECT स्टेटमेंट का उपयोग किया है:
SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder) FROM Products
ऊपरी उदाहरण में, यदि "UnitsOnOrder" मान NULL है, तो परिणाम NULL होगा。
माइक्रोसॉफ्ट के ISNULL() फ़ंक्शन का उपयोग NULL मानों को कैसे संभालने के लिए किया जाता है。
NVL(), IFNULL() और COALESCE() फ़ंक्शन भी उसी परिणाम को प्राप्त कर सकते हैं。
यहाँ, हम चाहते हैं कि NULL मान 0 हो।
अभी, यदि "UnitsOnOrder" NULL है, तो यह गणना के लिए अनुकूल नहीं है, इसलिए ISNULL() NULL वाले मान को 0 कर देता है。
SQL Server / MS Access
SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0)) FROM Products
Oracle
Oracle में ISNULL() फ़ंक्शन नहीं है।यद्यपि, हम NVL() फ़ंक्शन का उपयोग करके उसी परिणाम को प्राप्त कर सकते हैं:
SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0)) FROM Products
MySQL
MySQL भी ISNULL() के तरह की फ़ंक्शन रखता है।यद्यपि यह माईक्रोसॉफ्ट के ISNULL() फ़ंक्शन के साथ कुछ अलग काम करता है。
MySQL में, हम IFNULL() फ़ंक्शन का उपयोग कर सकते हैं, इस तरह:
SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0)) FROM Products
या हम इस तरह COALESCE() फ़ंक्शन का उपयोग कर सकते हैं:
SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0)) FROM Products
- पिछला पृष्ठ SQL नल
- अगला पृष्ठ एसक्यूएल डेटा टाइप