Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

Oracle ISNULL () समतुल्य

अधिकांश प्रमुख डीबीएमएस हमें शून्य मानों को दूसरे मान से बदलने के लिए एक फ़ंक्शन प्रदान करते हैं।

लेकिन फ़ंक्शन का नाम डीबीएमएस में भिन्न होता है। उदाहरण के लिए, SQL सर्वर में एक ISNULL() है फ़ंक्शन, जबकि अन्य (जैसे MySQL, MariaDB, और SQLite) में एक IFNULL() होता है एक ही काम करने के लिए कार्य करें।

हालांकि, मामलों को भ्रमित करने के लिए, MySQL और MariaDB प्रत्येक के पास एक ISNULL() . है फ़ंक्शन जो एक ही नाम के SQL सर्वर के फ़ंक्शन के लिए अलग तरह से काम करता है (MySQL और MariaDB का कार्यान्वयन केवल एक ही तर्क को स्वीकार करता है, और 1 लौटाता है। अगर इसका null . है और 0 अगर यह नहीं है)।

वैसे भी, Oracle डेटाबेस के मामले में, हम NVL() . का उपयोग कर सकते हैं शून्य मानों को दूसरे मान से बदलने के लिए कार्य करता है।

दरअसल, Oracle डाटाबेस में एक NVL2() भी होता है फ़ंक्शन जो हमें इस घटना में उपयोग करने के लिए एक और मान प्रदान करने की अनुमति देता है कि पहला तर्क null नहीं है ।

यदि हम केवल यह जांचना चाहते हैं कि कोई मान null है या नहीं या नहीं, हम उपयोग कर सकते हैं IS NULL शर्त (या IS NOT NULL विपरीत परीक्षा के लिए)।

NVL() समारोह

यहां एक उदाहरण दिया गया है जो दर्शाता है कि कैसे NVL() फ़ंक्शन काम करता है:

SELECT NVL(null, 'Run')
FROM DUAL;

परिणाम:

Run

उस स्थिति में, पहला तर्क null . था और इसलिए दूसरा तर्क वापस कर दिया गया।

यहाँ क्या होता है जब पहला तर्क null नहीं होता है :

SELECT NVL('Walk', 'Run')
FROM DUAL;

परिणाम:

Walk

पहला तर्क वापस कर दिया गया है।

NVL2() समारोह

जैसा कि उल्लेख किया गया है, Oracle डेटाबेस हमें NVL2() . भी प्रदान करता है समारोह। यह फ़ंक्शन हमें इस घटना में उपयोग करने के लिए एक और मान प्रदान करने की अनुमति देता है कि पहला तर्क null नहीं है ।

यह कैसे काम करता है इसका एक उदाहरण यहां दिया गया है:

SELECT NVL2(null, 2, 3)
FROM DUAL;

परिणाम:

3

पहला तर्क था null और इसलिए तीसरा तर्क वापस कर दिया गया।

यहाँ क्या होता है जब पहला तर्क null नहीं होता है :

SELECT NVL2(1, 2, 3)
FROM DUAL;

परिणाम:

2

दूसरा तर्क वापस कर दिया गया है।

IS NULL और IS NOT NULL शर्तें

अगर हम सिर्फ यह पता लगाना चाहते हैं कि कोई मान null है या नहीं , हम उपयोग कर सकते हैं IS NULL तुलना की स्थिति। हम वैकल्पिक रूप से उपयोग कर सकते हैं IS NOT NULL यह जांचने के लिए कि क्या यह null नहीं है ।

मान लीजिए हमारे पास निम्न तालिका है:

SELECT * FROM Autoparts
WHERE Price IS NULL;

परिणाम:

<थ>कीमत
आईडी ओई# मॉडल
2 62150B3278 कैमरी
1 62150A3278 168 HILUX

इस मामले में, PRICE कॉलम में पहली पंक्ति के लिए शून्य मान होता है, लेकिन दूसरी पंक्ति के लिए नहीं।

यहां IS NULL का उपयोग करने का एक उदाहरण दिया गया है उस तालिका के विरुद्ध:

SELECT * FROM Autoparts
WHERE Price IS NULL;

परिणाम:

<थ>कीमत
आईडी ओई# मॉडल
2 62150B3278 कैमरी

केवल शून्य मूल्य वाली पंक्ति लौटा दी जाती है।

यहाँ क्या होता है जब हम IS NOT NULL . का उपयोग करते हैं :

SELECT * FROM Autoparts
WHERE Price IS NOT NULL;

परिणाम:

<थ>कीमत
आईडी ओई# मॉडल
1 62150A3278 168 HILUX

दूसरी पंक्ति वापस आ गई है।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या विदेशी कुंजी बाधाएं Oracle में क्वेरी परिवर्तनों को प्रभावित करती हैं?

  2. NHibernate के साथ एक ही ASP.NET ऐप में Oracle और SQL सर्वर दोनों का समर्थन करने के लिए सिफारिशें

  3. 9i क्लाइंट से 11g डेटाबेस से कनेक्ट करते समय ORA-01017 अमान्य उपयोगकर्ता नाम/पासवर्ड

  4. (अंग्रेज़ी) Oracle डेटाबेस 19c पूर्व-निर्मित डेवलपर VM का उपयोग कैसे करें

  5. ऑरैकल कनेक्शन खोलते समय, कनेक्शन ऑब्जेक्ट शून्य होता है