सेलेक्ट स्टेटमेंट का उपयोग करके NULL मानों को बदलने के लिए बहुत सारे विकल्प उपलब्ध हैं। आप केस स्टेटमेंट या IFNULL() या COALESCE()
. का उपयोग कर सकते हैंकेस 1 - IFNULL()
. का उपयोग करनाIFNULL() का सिंटैक्स इस प्रकार है -
अपनेTableName से IFNULL(yourColumnName,'yourValue') किसी भी वैरिएबल नाम के रूप में चुनें;
केस 2 - COALESCE()
का उपयोग करनाCOALESCE() का सिंटैक्स इस प्रकार है -
आपकेटेबलनाम से COALESCE(yourColumnName,'yourValue') जैसा कोई भी वैरिएबल नाम चुनें;
केस 3 - केस स्टेटमेंट का उपयोग करना
केस स्टेटमेंट का सिंटैक्स।
इस मामले का चयन करें जब आपका कॉलमनाम शून्य हो तो 'आपका मान' अन्यथा अपने कॉलमनाम को अपने टेबलनाम से किसी भी वैरिएबल नाम के रूप में समाप्त करें
ऊपर हमने जो चर्चा की है उसे समझने के लिए, आइए एक टेबल बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -
mysql> टेबल बनाएं रिप्लेसएनयूएलएलडेमो -> (-> आईडी नॉट न्यूल ऑटो_इनक्रिमेंट, -> नाम वर्कर (10), -> मार्क्स इंट, -> प्राथमिक कुंजी (आईडी) ->); क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित हैं ( 0.62 सेकंड)
इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -
mysql> ReplaceNULLDemo (नाम, मार्क्स) मान ('लैरी', 90) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड) mysql> ReplaceNULLDemo (नाम, अंक) मान ('कैरोल', नल) में डालें;क्वेरी ओके, 1 पंक्ति प्रभावित (0.17 सेकंड)mysql> रिप्लेसनलडेमो (नाम, मार्क्स) मान ('डेविड', नल) में डालें; क्वेरी ओके, 1 पंक्ति प्रभावित (0.14 सेकंड) mysql> रिप्लेसनलडेमो (नाम, मार्क्स) में डालें मान ('बॉब', 67); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.17 सेकंड) mysql> बदलें NULLDemo (नाम, अंक) मान ('सैम', 78) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> ReplaceNULLDemo (नाम, मार्क्स) मानों ('माइक', नल) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.19 सेकंड) mysql> प्रतिस्थापन में डालें (नाम, अंक) मान ('जॉन', 98); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.16 सेकंड)
चयनित कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -
mysql> *ReplaceNULLDemo से चुनें;
निम्न आउटपुट है -
+-----+--------+----------+| आईडी | नाम | मार्क्स |+-----+----------+-------+| 1 | लैरी | 90 || 2 | कैरल | शून्य || 3 | डेविड | शून्य || 4 | बॉब | 67 || 5 | सैम | 78 || 6 | माइक | शून्य || 7 | जॉन | 98 |+-----+----------+-------+7 पंक्तियाँ सेट में (0.00 सेकंड)
आइए अब NULL मान को 0 में बदलें।
केस 1 - IFNULL()
. का उपयोग करनाक्वेरी इस प्रकार है -
mysql> ifnull(Marks,0) को ReplaceNULLDemo से ReplacementOfNULLWith0 के रूप में चुनें;
NULL को 0 से बदल कर प्रदर्शित करने वाला आउटपुट निम्न है -
<पूर्व>+--------------------------+| रिप्लेसमेंटऑफएनयूएलएलविथ0 |+--------------------------+| 90 || 0 || 0 || 67 || 78 || 0 || 98 |+--------------------------+7 पंक्तियाँ सेट में (0.00 सेकंड)केस 2 - COALESCE()
का उपयोग करनाक्वेरी इस प्रकार है -
mysql> कोलेसेस (मार्क्स, 0) को रिप्लेसमेंटऑफनलविथ0 के रूप में रिप्लेसएनयूएलएलडेमो से चुनें;
NULL को 0 से बदल कर प्रदर्शित करने वाला आउटपुट निम्न है -
<पूर्व>+--------------------------+| रिप्लेसमेंटऑफएनयूएलएलविथ0 |+--------------------------+| 90 || 0 || 0 || 67 || 78 || 0 || 98 |+--------------------------+7 पंक्तियाँ सेट में (0.00 सेकंड)केस 3 - केस स्टेटमेंट का उपयोग करना।
क्वेरी इस प्रकार है -
mysql> केस का चयन करें -> जब मार्क्स शून्य हो तो 0 -> अन्यथा मार्क्स रिप्लेसमेंटऑफएनयूएलएलविथ0 के रूप में समाप्त होते हैं -> रिप्लेसएनयूएलएलडेमो से;
NULL को 0 से बदल कर प्रदर्शित करने वाला आउटपुट निम्न है -
<पूर्व>+--------------------------+| रिप्लेसमेंटऑफएनयूएलएलविथ0 |+--------------------------+| 90 || 0 || 0 || 67 || 78 || 0 || 98 |+--------------------------+7 पंक्तियाँ सेट में (0.00 सेकंड)