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

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


स्ट्रिंग में अंतिम कॉमा के बाद सभी वर्णों को हटाने के लिए, आप SUBSTRING_INDEX() का उपयोग कर सकते हैं।

यदि आप अंतिम अल्पविराम का स्थान नहीं जानते हैं, तो आपको LENGTH() का उपयोग करके गतिशील रूप से अंतिम अल्पविराम खोजने की आवश्यकता है।

वाक्यविन्यास इस प्रकार है -

अपना टेबलनाम अपडेट करें अपना कॉलमनाम सेट करें =SUBSTRING_INDEX(yourColumnName, ',',LENGTH(yourColumnName) - LENGTH(REPLACE(yourColumnName, ',', '')));

उपरोक्त सिंटैक्स को समझने के लिए, आइए एक टेबल बनाएं। तालिका बनाने की क्वेरी इस प्रकार है -

mysql> टेबल बनाएं RemoveAllCharacters -> ( -> Id int NOT NULL AUTO_INCREMENT, -> FullInfo varchar(200), -> PRIMARY KEY(Id) -> );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (1.83 सेकंड) 

इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें। क्वेरी इस प्रकार है -

mysql> RemoveAllCharacters(FullInfo) मानों में डालें ('जॉन, स्मिथ, 23,98,4565886'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.23 सेकंड) mysql> RemoveAllCharacters (FullInfo) मान ('कैरोल, टेलर') में डालें ,26,91');क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.28 सेकंड)mysql> RemoveAllCharacters(FullInfo) मान ('डेविड, मिलर, 21') में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.11 सेकंड) mysql> में डालें RemoveAllCharacters (FullInfo) मान ('रॉबर्ट, जोन्स, 22,97'); क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.09 सेकंड) mysql> RemoveAllCharacters (FullInfo) मान ('सैम, विलियम्स, 27,88,456788,97877' में डालें) );क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.13 सेकंड)

चयनित कथन का उपयोग करके तालिका से सभी रिकॉर्ड प्रदर्शित करें। क्वेरी इस प्रकार है -

mysql> RemoveAllCharacters से *चुनें;

निम्न आउटपुट है -

<पूर्व>+----+---------------------------------+| आईडी | फुलइन्फो |+----+------------------------------------------+| 1 | जॉन, स्मिथ, 23,98,4565886 || 2 | कैरल, टेलर,26,91 | | 3 | डेविड, मिलर,21 || 4 | रॉबर्ट, जोन्स, 22,97 || 5 | सैम, विलियम्स, 27,88,456788,97877 |+----+-------------------------------- -+5 पंक्तियाँ सेट में (0.00 सेकंड)

स्ट्रिंग में अंतिम अल्पविराम के बाद सभी वर्णों को हटाने की क्वेरी निम्नलिखित है -

mysql> अद्यतन निकालें सभी वर्ण -> FullInfo सेट करें =SUBSTRING_INDEX(FullInfo, ',', LENGTH(FullInfo) - LENGTH(REPLACE(FullInfo, ',', '')));क्वेरी ठीक है, 5 पंक्तियाँ प्रभावित (0.28 सेकंड) )पंक्तियों का मिलान हुआ:5 परिवर्तित:5 चेतावनियाँ:0

अब एक बार फिर से टेबल के सारे रिकॉर्ड चेक कर लें। क्वेरी इस प्रकार है -

mysql> RemoveAllCharacters से *चुनें;

अंतिम अल्पविराम के बाद वर्णों के बिना रिकॉर्ड प्रदर्शित करने वाला आउटपुट निम्न है:

<पूर्व>+----+---------------------------+| आईडी | फुलइन्फो |+----+---------------------------+| 1 | जॉन, स्मिथ, 23,98 || 2 | कैरल, टेलर, 26 || 3 | डेविड, मिलर || 4 | रॉबर्ट, जोन्स, 22 || 5 | सैम, विलियम्स, 27,88,456788 |+-----+--------------------------+5 पंक्तियों में सेट (0.00 सेकंड)
  1. एक विशिष्ट वर्ण हाइफ़न से पहले सभी वर्ण प्राप्त करने के लिए MySQL क्वेरी

    इसके लिए आप SUBSTRING_INDEX() का इस्तेमाल कर सकते हैं। आइए पहले एक टेबल बनाएं - टेबल बनाएं DemoTable1857 (Name varchar(20));क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.00 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable1857 मानों में डालें (डेविड-कैरोल-मिलर); क्वेरी ठीक है, 1 पंक्

  1. संख्याओं के साथ VARCHAR स्ट्रिंग में हाइफ़न के बाद संख्याओं को निकालने के लिए MySQL क्वेरी

    इसके लिए SUBSTRING_INDEX() का प्रयोग करें। आइए पहले एक टेबल बनाएं - );क्वेरी ओके, 0 पंक्तियाँ प्रभावित (0.85 सेकंड) इंसर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें - DemoTable2040 मान (डेविड-987) में डालें; क्वेरी ठीक है, 1 पंक्ति प्रभावित (0.21 सेकंड) चयन कथन का उपयोग करके तालिका से सभी र

  1. जावा में एक स्ट्रिंग के सभी गैर-वर्णमाला वर्ण निकालें?

    विभाजन () स्ट्रिंग वर्ग की विधि सीमांकक का प्रतिनिधित्व करने वाले स्ट्रिंग मान को स्वीकार करती है और टोकन (शब्दों) की सरणी में विभाजित होती है, दो सीमांककों की घटना के बीच स्ट्रिंग को एक टोकन के रूप में मानती है। उदाहरण के लिए यदि आप इस पद्धति के लिए एक सीमांकक के रूप में एकल स्थान पास करते हैं और