Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> MySql

MySQL में सेलेक्ट स्टेटमेंट का उपयोग करके नल मानों को बदलने के लिए अंतर तरीके क्या हैं?


सेलेक्ट स्टेटमेंट का उपयोग करके 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 सेकंड)
  1. MySQL में MAX (विशिष्ट…) कैसे लागू करें और DISTINCT का उपयोग किए बिना क्या अंतर है?

    आइए पहले सिंटैक्स को देखें, जो MAX() - . में DISTINCT का उपयोग करता है अपनेTableName सेअधिकतम(DISTINCT yourColumnName) का चयन करें; दूसरा वाक्यविन्यास इस प्रकार है। यह DISTINCT का उपयोग नहीं कर रहा है - अपनेTableName सेअधिकतम(yourColumnName)चुनें; नोट -उपरोक्त दोनों प्रश्न DISTINCT कीवर्ड के साथ य

  1. एक ही MySQL SELECT स्टेटमेंट के अंदर एक उपनाम के मान का उपयोग करना

    आप सीधे चयन में उपनाम का उपयोग नहीं कर सकते हैं। इसके बजाय, उपयोगकर्ता द्वारा परिभाषित चर का उपयोग करें। निम्नलिखित वाक्य रचना है। यहाँ, @yourAliasName हमारा चर और उपनाम है - @yourAliasName :=curdate() as anyAliasName,concat(yourValue.,yourColumnName, yourValue,@yourAliasName) को अपने TableName से क

  1. MySQL में !=NULL और IS NOT NULL में क्या अंतर है?

    यदि आप किसी मान की तुलना !=NULL से करते हैं तो यह NULL देता है। तो, !=NULL अर्थहीन है। !=NULL और IS NOT NULL के बीच अंतर देखने के लिए, आइए पहले एक टेबल बनाएं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1970 (वैल्यू इंट);क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टे