mysql substring substring_index functions with examples
MySQL SUBSTRING और SUBSTRING_INDEX फ़ंक्शंस और कई उदाहरणों के साथ इसके उपयोग के बारे में जानें:
MySQL सबस्ट्रिंग फ़ंक्शन का उपयोग इनपुट स्ट्रिंग के खिलाफ एक स्ट्रिंग या पार्ट स्ट्रिंग निकालने के लिए किया जाता है। जैसा कि नाम से पता चलता है कि सबस्ट्रिंग फ़ंक्शन एक स्ट्रिंग इनपुट पर संचालित होता है और निर्दिष्ट विकल्पों के विरुद्ध एक छोटा विकल्प प्रदान करता है।
हम SUBSTRING_INDEX नामक SUBSTRING के एक और संस्करण के बारे में भी जानेंगे। यह फ़ंक्शन कैरेक्टर या स्ट्रिंग मान को सीमांकक के रूप में स्वीकार करता है और दिए गए सीमांकक मान के विरुद्ध खोज निष्पादित करता है।
हम यह समझने के लिए कुछ उदाहरणों को भी देखेंगे कि डेटा को क्वेरी प्रश्नों के भाग के रूप में उपयोग करते समय इन कार्यों का उपयोग कैसे किया जा सकता है।
आप क्या सीखेंगे:
MySQL SUBSTRING
वाक्य - विन्यास:
// format 1 SELECT SUBSTRING('{String Value}', {start_index}, {count}); // format 2 SELECT SUBSTRING('{String Value}'FROM {start_index} for {count});
2 तरीके हैं जिनमें हम SUBSTRING फ़ंक्शन का उपयोग कर सकते हैं।
उदाहरणों में डुबकी लगाने से पहले सिंटैक्स को समझें।
- {स्ट्रिंग मान}: यह वास्तविक स्ट्रिंग मान या स्तंभ नाम जिसमें स्ट्रिंग पर काम किया जाना है।
- {start_index}: start_index बाएं या दाएं से इंडेक्स है जहां सबस्ट्रिंग शुरू किया जाएगा। मूल्य सकारात्मक या नकारात्मक हो सकते हैं, इस पर निर्भर करता है कि हम क्रमशः बाईं ओर या दाईं ओर से स्ट्रिंग निकालना चाहते हैं। यह उदाहरणों के साथ और अधिक स्पष्ट हो जाएगा।
- {गिनती}: यह फ़ील्ड वैकल्पिक है और इसमें से वर्णों की गिनती निर्दिष्ट करता है start_index फ़ील्ड जिसके लिए सबस्ट्रिंग को निकालने की आवश्यकता है। यदि उल्लेख नहीं किया गया है, तो पूरी स्ट्रिंग मिलान से शुरू होती है start_index वापस कर दिया जाएगा।
फॉर्मेट 2 फॉर्मेट 1 का एक रूपांतर है, सिवाय इसके कि यह FROM और FOR कीवर्ड का उपयोग करके अधिक पठनीय है। तो यहाँ, FROM का उल्लेख करने से पहले प्रयोग किया जाता है start_index उल्लेख करने से पहले मूल्य, और फॉर का उपयोग किया जाता है गिनती ।
आइए MySQL SUBSTRING फ़ंक्शन को समझने के लिए कुछ उदाहरण देखें।
स्ट्रिंग इनपुट मूल्य को मान लें सॉफ्टवेयर परीक्षण सहायता
स्ट्रिंग इंडेक्स नीचे तालिका की तरह दिखेगा
1 | दो | ३ | ४ | ५ | ६ | । | । | ९ | १० | ग्यारह | १२ | १३ | १४ | पंद्रह | १६ | १। | १। | १ ९ | बीस | इक्कीस |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
रों | या | च | टी | में | सेवा मेरे | आर | है | टी | है | रों | टी | मैं | एन | जी | एच | है | एल | पी |
MySQL SUBSTRING उदाहरण
बिना गिनती के
मान लीजिए कि हम उपरोक्त स्ट्रिंग से सहायता पाठ निकालना चाहते हैं - एच 18 का सूचकांक है
आइए नीचे प्रश्न देखें:
SELECT SUBSTRING('Software Testing Help', 18) as extracted_string; SELECT SUBSTRING('Software Testing Help' FROM 18) as extracted_string; // Output Help
यहां यह ध्यान रखना महत्वपूर्ण है कि हमने इसके लिए किसी मूल्य का उल्लेख नहीं किया है गिनती, लेकिन हम अभी भी सही स्ट्रिंग प्राप्त कर रहे हैं - इसका कारण यह है कि जब गिनती छोड़ दी जाती है, तो दिए गए सूचकांक से शुरू होने वाला संपूर्ण स्ट्रिंग वापस आ जाता है।
इस मामले में, यदि हम स्टार्ट इंडेक्स का उल्लेख करते हैं, उदाहरण के लिए, ‘T '(इंडेक्स 10) के लिए
SELECT SUBSTRING('Software Testing Help', 10) as extracted_string; //Output Testing Help
जैसा कि आप ऊपर देख सकते हैं, आउटपुट में संपूर्ण पाठ 'परीक्षण सहायता' है।
गिनती के साथ
अब, एक उदाहरण देखें, जहां हम वर्णों की गिनती का उल्लेख करेंगे।
मान लें कि हम केवल ‘टेस्टिंग the सॉफ़्टवेयर टेस्टिंग हेल्प’ से the टेस्टिंग ’शब्द निकालना चाहते हैं। तो फिर हम गिनती के रूप में उल्लेख कर सकते हैं - 7 (शब्द can परीक्षण की लंबाई है)
आइए नीचे प्रश्न देखें:
SELECT SUBSTRING('Software Testing Help', 10, 7) as extracted_string; SELECT SUBSTRING('Software Testing Help' FROM 10 FOR 7) as extracted_string; //Output Testing
यहां हमने आवश्यक परिणाम प्राप्त करने के लिए क्वेरी के हिस्से के रूप में शुरुआती सूचकांक और गिनती दोनों का वर्णन किया है।
नकारात्मक सूचकांक मूल्यों के साथ
अब तक, हमने जो उदाहरण देखे हैं, उनके लिए हमने निर्दिष्ट किया है start_index एक सकारात्मक मूल्य के रूप में।
हम start_index को नकारात्मक के रूप में भी निर्दिष्ट कर सकते हैं, जिसका सीधा अर्थ है कि बाईं ओर से गणना करने के बजाय, MySQL इंजन स्ट्रिंग के अंत से प्रारंभ इंडेक्स को गिनने का प्रयास करेगा।
एक उदाहरण देखते हैं
हमारे स्ट्रिंग Testing सॉफ़्टवेयर परीक्षण सहायता ’के लिए, सही अनुक्रमित की पहचान करने के लिए नीचे एक पंक्ति जोड़ें
एल | 1 | दो | ३ | ४ | ५ | ६ | । | । | ९ | १० | ग्यारह | १२ | १३ | १४ | पंद्रह | १६ | १। | १। | १ ९ | बीस | इक्कीस |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
रों | या | च | टी | में | सेवा मेरे | आर | है | टी | है | रों | टी | मैं | एन | जी | एच | है | एल | पी | |||
आर | इक्कीस | बीस | १ ९ | १। | १। | १६ | पंद्रह | १४ | १३ | १२ | ग्यारह | १० | ९ | । | । | ६ | ५ | ४ | ३ | दो | 1 |
इसलिए, नीचे की पंक्ति सही अनुक्रमित का प्रतिनिधित्व करती है। अब मान लें कि हम सही सूचकांक के साथ MySQL SUBSTRING फ़ंक्शन का उपयोग करके 'परीक्षण' शब्द निकालना चाहते हैं।
परीक्षण में ’T’ का दायां सूचकांक 12 है (और बायाँ सूचकांक 10 है)
SELECT SUBSTRING('Software Testing Help', -12, 7) as extracted_string; SELECT SUBSTRING('Software Testing Help' FROM -12 FOR 7) as extracted_string; //Output Testing
जैसा कि आप ऊपर के उदाहरण में देख सकते हैं, एक सही मूल्य के रूप में सही अनुक्रमित का उल्लेख करना अभी भी उसी परिणाम का उत्पादन करेगा।
दायरे से बाहर सूचकांक
अब, कुछ नकारात्मक परिदृश्य आज़माएँ
- जब start_index निर्दिष्ट किया गया है, तो मौजूदा नहीं है: यानी निर्दिष्ट सूचकांक सीमा से बाहर है, तो आउटपुट खाली होगा।
SELECT SUBSTRING('Software Testing Help', 30, 2) as extracted_string; //output Empty String
- जब निर्दिष्ट की गई संख्या स्ट्रिंग की कुल लंबाई से नकारात्मक या अधिक होती है, तो आउटपुट केवल स्ट्रिंग के बाकी (start_index निर्दिष्ट करना शुरू करना) होगा।
SELECT SUBSTRING('Software Testing Help', 5, 100) as extracted_string; //output ware Testing Help
आप ऊपर देख सकते हैं, यहां गिनती 100 बताई गई थी, लेकिन स्ट्रिंग सिर्फ 21 अक्षर लंबा है।
- नकारात्मक के रूप में उल्लिखित गणना के साथ एक और परिदृश्य का प्रयास करें।
SELECT SUBSTRING('Software Testing Help', 5, -20) as extracted_string; //output Empty String
यहां भी, कोई त्रुटि नहीं होगी और सिर्फ एक खाली स्ट्रिंग होगा जो आउटपुट होगा।
MySQL SUBSTRING_INDEX
यह MySQL SUBSTRING फ़ंक्शन का एक और संस्करण है।
यहां, start_index के वास्तविक मूल्य का उल्लेख करने के बजाय, हम केवल चरित्र और सूचकांक का उल्लेख कर सकते हैं और आउटपुट लौटने से पहले सीमांकक को कितनी बार खोजा जाना है।
यहां ध्यान देने योग्य एक महत्वपूर्ण बिंदु है SUBSTRING_INDEX
MySQL SUBSTRING INDEX फ़ंक्शन:
SUBSTRING_INDEX({StringValue/Column},delimiter,n)
- {StringValue / कॉलम}: वास्तविक स्ट्रिंग इनपुट या सेलेक्ट क्वेरी में कॉलम नाम।
- परिहार: यह वर्ण या विकल्प है जिसे आउटपुट के रूप में शेष स्ट्रिंग को निकालने की आवश्यकता है। यह मान केस संवेदी है, इसलिए इसे निर्दिष्ट किया जाना चाहिए क्योंकि यह वास्तविक स्ट्रिंग में दिखाई देता है।
- n: सीमांकक की गणना - यानी स्ट्रिंग को वापस करने से पहले परिसीमन को खोजा जाना है।
इसे कुछ उदाहरणों की सहायता से समझते हैं।
हम नीचे दिए गए अगले भाग में चर्चा करने जा रहे सभी उदाहरणों के लिए हमारे इनपुट स्ट्रिंग के रूप में एक ही स्ट्रिंग Testing सॉफ्टवेयर टेस्टिंग हेल्प ’का उपयोग करेंगे।
एक चरित्र के लिए खोज
वर्ण ’T’ की खोज करते समय आउटपुट ‘सॉफ्टवेयर‘ होगा। ध्यान दें कि सॉफ़्टवेयर शब्द के बाद अतिरिक्त स्थान को भी शामिल किया जाएगा।
SELECT SUBSTRING_INDEX('Software Testing Help', 'T', 1) as extracted_string; //Output Software
एक ऐसे चरित्र की खोज करें जो एक से अधिक बार दिखाई दे रहा है। यहाँ, यह है - ‘e’
SELECT SUBSTRING_INDEX('Software Testing Help', 'e', 1) as extracted_string; //Output Softwar
इस उदाहरण में: चूंकि हमने गिनती को 1 के रूप में निर्दिष्ट किया है, इसलिए आउटपुट the ई ’की पहली घटना तक पहुंचने तक स्ट्रिंग होगा।
उसी वर्ण count e ’के लिए गिनती को 2 में बदलें।
SELECT SUBSTRING_INDEX('Software Testing Help', 'e', 2) as extracted_string; //Output Software T
अब, हम देख सकते हैं, वर्ण ‘e’ की दूसरी घटना तक प्रतिस्थापित है।
यह समझने के लिए एक और उदाहरण लें कि SUBSTRING INDEX मामला संवेदनशील है। ’T’ के स्थान पर ‘t’ अक्षर के साथ प्रयास करें
ऑनलाइन एमपी 3 कनवर्टर करने के लिए सबसे अच्छा मुफ्त यूट्यूब
SELECT SUBSTRING_INDEX('Software Testing Help', 't', 1) as extracted_string; //Output Sof
एक स्ट्रिंग के लिए खोज
हम किसी वर्ण के बजाय स्ट्रिंग की खोज के लिए SUBSTRING INDEX फ़ंक्शन का उपयोग कर सकते हैं। 'परीक्षण' शब्द के लिए खोज करते हैं।
SELECT SUBSTRING_INDEX('Software Testing Help', 'Testing', 1) as extracted_string; //Output Software
एक गैर-मौजूदा स्ट्रिंग के लिए खोज
मौजूदा स्ट्रिंग के साथ SUBSTRING INDEX का उपयोग करना।
SELECT SUBSTRING_INDEX('Software Testing Help', 'abc', 1) as extracted_string; //Output Software Testing Help
यहाँ उत्पादन थोड़ा अप्रत्याशित हो सकता है। लेकिन चूंकि MySQL इंजन आवश्यक मैच नहीं खोज सकता है, इसलिए यह आउटपुट के रूप में पूरे स्ट्रिंग को लौटाता है।
वर्ण के लिए खोज या उल्टा क्रम में स्ट्रिंग
SUBSTRING फ़ंक्शन के समान, SUBSTRING INDEX फ़ंक्शन भी गणना को नकारात्मक संख्याओं के रूप में बताता है। इसका मतलब यह है कि, बाएं से दाएं ट्रेस करने के बजाय, MySQL इंजन दाएं से बाएं से मैच खोजने की कोशिश करेगा।
इसे कुछ उदाहरणों की मदद से समझें।
SELECT SUBSTRING_INDEX('Software Testing Help', 'T', -1) as extracted_string; //Output esting Help
उपरोक्त उदाहरण में, आप देख सकते हैं कि सीमांक -1 '' है जबकि गिनती -1 है। इसलिए आउटपुट right T ’अक्षर के लिए पहला मैच प्राप्त होने तक दाईं ओर से दिया जाएगा।
MySQL SUBSTRING फ़ंक्शन के अनुप्रयोग
हम आम तौर पर 1 या एकाधिक तालिकाओं से डेटा क्वेरी करते समय MySQL स्ट्रिंग फ़ंक्शन का उपयोग करते हैं। इसका उपयोग किसी कॉलम में मानों को विभाजित करने के लिए किया जा सकता है, या केवल आवश्यक मानों को प्रदर्शित करने के लिए किया जा सकता है।
उदाहरण: मान लें कि हमारे पास आईडी, नाम और पते से युक्त एक कर्मचारी विवरण तालिका है।
और पता कॉलम प्रारूप का है - {HouseNo}, {StreetName}
नीचे तालिका बनाने और डमी डेटा सम्मिलित करने के लिए स्क्रिप्ट है:
CREATE TABLE employee_details (name VARCHAR(100), address VARCHAR(100), age INT); INSERT INTO employee_details values ('Akash Malhotra', '22,Defence Colony', 24), ('Steve Wilson','12/4,Wilson Street',28), ('Monica Singh','190,Smith Lane',32);
करने के लिए MySQL SUBSTRING फ़ंक्शन का उपयोग करें घर का नंबर नीचे दिखाए गए अनुसार पता कॉलम से निकाला गया।
SELECT name, SUBSTRING_INDEX(address,',',1) as house_no, address, age from employee_details
आउटपुट:
नाम | मकान नंबर | पता | उम्र |
---|---|---|---|
Akash Malhotra | २२ | 22, डिफेंस कॉलोनी | २४ |
स्टीव विल्सन | 12/4 | 12/4, विल्सन स्ट्रीट | २। |
मोनिका सिंह | 190 | 190, स्मिथ लेन | 32 |
उपरोक्त क्वेरी में, आप देख सकते हैं कि हमने SUBSTRING_INDEX फ़ंक्शन का उपयोग एड्रेस कॉलम से हाउस-नंबर प्राप्त करने के लिए किया है और हमने ‘,’ का उपयोग परिसीमनक के रूप में किया है।
इसके समान, ऐसे कई अनुप्रयोग हो सकते हैं जहाँ हम स्ट्रिंग को किसी बड़े स्ट्रिंग इनपुट या स्तंभ मान से कुछ सार्थक जानकारी प्राप्त करने के लिए निकालना चाहेंगे।
बार बार पूछे जाने वाले प्रश्न
Q # 1) कौन सा MySQL फ़ंक्शन स्ट्रिंग में एक SUBSTRING की पहली घटना की स्थिति देता है?
उत्तर: MySQL किसी दिए गए String या स्तंभ मान से SUBSTRING को वापस करने या निकालने के लिए 2 फ़ंक्शन प्रदान करता है।
- सबस्ट्रिंग
उदाहरण:
SELECT SUBSTRING('Test Input',1,4) as extracted_string; // Output Test
- SUBSTRING INDEX
उदाहरण:
SELECT SUBSTRING_INDEX('Test Input','t',1) as extracted_string; //Output Tes
Q # 2) MySQL में SUBSTRING_INDEX क्या है?
उत्तर: SUBSTRING_INDEX फ़ंक्शन SUBSTRING फ़ंक्शन का एक प्रकार है। जबकि सामान्य SUBSTRING फ़ंक्शन में आपको SUBSTRING_INDEX फ़ंक्शन के लिए इंडेक्स को इनपुट स्ट्रिंग में एक संख्या के रूप में उल्लेख करना होगा, आप किसी वर्ण या छोटे विकल्प का उल्लेख कर सकते हैं।
पठन पाठन = >> MySQL COUNT ट्यूटोरियल
निष्कर्ष
इस ट्यूटोरियल में, हमने MySQL SUBSTRING और SUBSTRING_INDEX फ़ंक्शंस के बारे में जाना। दोनों फ़ंक्शन दिए गए इनपुट स्ट्रिंग के खिलाफ एक एंगरिंग निकालते हैं लेकिन थोड़े अलग तरीके से काम करते हैं।
SUBSTRING इंडेक्स को वास्तविक संख्याओं के रूप में प्रदर्शित करता है, जबकि SUBSTRING_INDEX में सीमांक या स्ट्रिंग मान के रूप में निर्दिष्ट सीमांकक हो सकता है, और फिर MySQL इंजन आवश्यक मिलान स्ट्रिंग या वर्ण के विरुद्ध निकाल सकता है।
इन दोनों कार्यों का बड़े पैमाने पर उपयोग किया जाता है जहां उपयुक्त आवश्यकताओं के आधार पर स्ट्रिंग निष्कर्षण तर्क का उपयोग करके जानकारी के कई टुकड़ों वाले कॉलम को उप-स्तंभों में निकाला जा सकता है।
अनुशंसित पाठ
- सी # स्ट्रिंग ट्यूटोरियल - कोड उदाहरण के साथ स्ट्रिंग के तरीके
- जावा सबस्ट्रिंग () विधि - उदाहरण के साथ ट्यूटोरियल
- जावा स्ट्रिंग में () उदाहरण के साथ विधि ट्यूटोरियल शामिल हैं
- जावा स्ट्रिंग प्रोग्रामिंग उदाहरणों के साथ तुलना विधि
- स्ट्रिंग फ़ंक्शंस C ++ में: getline, substring, string length & More
- C ++ स्ट्रिंग कनवर्ज़न फ़ंक्शंस: string to int & int to string
- पायथन स्ट्रिंग फ़ंक्शंस
- MySQL CONCAT और GROUP_CONCAT फ़ंक्शंस उदाहरण के साथ