आइए निम्नलिखित तालिका देखें "Products" ("उत्पाद"):
ProductID | ProductName | SupplierID | CategoryID | Unit | Price |
---|---|---|---|---|---|
1 | Chais | 1 | 1 | 10 boxes x 20 bags | 18.00 |
2 | Chang | 1 | 1 | 24 - 12 oz bottles | 19.00 |
3 | Aniseed Syrup | 1 | 2 | 12 - 550 ml bottles | 10.00 |
4 | Chef Anton's Cajun Seasoning | 2 | 2 | 48 - 6 oz jars | 22.00 |
5 | Chef Anton's Gumbo Mix | 2 | 2 | 36 boxes | 21.35 |
मान लें कि कॉलम "UnitsOnOrder" वैकल्पिक है और इसमें मान NULL हो सकता है।
निम्नलिखित निर्देश पर विचार करें SELECT:
SELECT ProductName, UnitPrice * (UnitsInStock + UnitsOnOrder)
FROM Products
उपरोक्त उदाहरण में, यदि कोई भी "UnitsOnOrder" मान NULL के बराबर है, तो परिणाम NULL होगा।
यदि अभिव्यक्ति NULL के बराबर है, तो MySQL IFNULL() फ़ंक्शन आपको वैकल्पिक मान वापस करने की अनुमति देता है:
SELECT ProductName, UnitPrice * (UnitsInStock + IFNULL(UnitsOnOrder, 0))
FROM Products
या हम उदाहरण के लिए COALESCE() फ़ंक्शन का उपयोग कर सकते हैं:
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products
SQL Server ISNULL() फ़ंक्शन आपको एक वैकल्पिक मान वापस करने की अनुमति देता है यदि अभिव्यक्ति का मान NULL है:
SELECT ProductName, UnitPrice * (UnitsInStock + ISNULL(UnitsOnOrder, 0))
FROM Products
या हम उदाहरण के लिए COALESCE() फ़ंक्शन का उपयोग कर सकते हैं:
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products
यदि अभिव्यक्ति शून्य है, तो MS Access फ़ंक्शन IsNull() TRUE (-1) लौटाता है, अन्यथा FALSE (0):
SELECT ProductName, UnitPrice * (UnitsInStock + IIF(IsNull(UnitsOnOrder), 0, UnitsOnOrder))
FROM Products
Oracle NVL() फ़ंक्शन समान परिणाम प्राप्त करता है:
SELECT ProductName, UnitPrice * (UnitsInStock + NVL(UnitsOnOrder, 0))
FROM Products
या हम उदाहरण के लिए COALESCE() फ़ंक्शन का उपयोग कर सकते हैं:
SELECT ProductName, UnitPrice * (UnitsInStock + COALESCE(UnitsOnOrder, 0))
FROM Products