रिलेशनल डेटाबेस के साथ काम करते समय अक्सर अस्त-व्यस्त डेटा से निपटना पड़ता है। सबसे आम चुनौतियों में से एक है टेक्स्ट डेटा को साफ़ करना और प्रोसेस करना। सौभाग्य से, SQL शक्तिशाली स्ट्रिंग फ़ंक्शंस प्रदान करता है जो इस प्रक्रिया को बहुत अधिक कुशल बना सकते हैं, आपका समय और मेहनत बचाते हुए।
इस लेख में, हम सबसे महत्वपूर्ण SQL स्ट्रिंग फ़ंक्शंस का पता लगाने जा रहे हैं जो आपको टेक्स्ट डेटा को आसानी से साफ़ करने और संशोधित करने में मदद करेंगे। आइए शुरू करें!
SQL स्ट्रिंग फ़ंक्शंस क्या हैं?
SQL स्ट्रिंग फ़ंक्शंस इन-बिल्ट फ़ंक्शंस हैं जो हमें डेटाबेस में संग्रहीत टेक्स्ट डेटा में परिवर्तन और प्रोसेसिंग करने में सक्षम बनाते हैं। टेक्स्ट फ़ील्ड के सामान्य उदाहरणों में नाम, विवरण और पते शामिल हैं।
इन फ़ंक्शंस का उपयोग कई तरह के कार्य करने के लिए किया जा सकता है, जिनमें शामिल हैं:
स्ट्रिंग्स को कंकेटनेट करना
टेक्स्ट का फ़ॉर्मेटिंग
स्ट्रिंग के हिस्सों का निष्कर्षण
स्ट्रिंग के भीतर विशिष्ट टेक्स्ट का खोज और प्रतिस्थापन
SQL में स्ट्रिंग्स को कंकेटनेट करना
हम concat() फ़ंक्शन का उपयोग करके दो या अधिक स्ट्रिंग्स को जोड़ सकते हैं:
SELECT CONCAT('Street Roma',', ','72',', ','Padova')AS full_addressसंचालित द्वारा
यह आउटपुट है:
full_address |-----------------------+
Street Roma,72, Padova|संचालित द्वारा
यह फ़ंक्शन अलग-अलग कॉलमों द्वारा दी गई जानकारी, जैसे नाम और पते, को मिलाने के लिए व्यापक रूप से उपयोग किया जाता है।
वैकल्पिक रूप से, आप CONCAT_WS() फ़ंक्शन का भी उपयोग कर सकते हैं:
SELECT CONCAT_WS(',','Street Roma','72','Padova')as full_addressसंचालित द्वारा
सिंटैक्स से, आप देख सकते हैं कि जब आप एक ही सेपरेटर के साथ दो से अधिक कॉलमों को संयोजित करना चाहते हैं, तो यह अधिक आसान और कुशल है।
टेक्स्ट का फ़ॉर्मेटिंग
टेक्स्ट को समायोजित करने के लिए केस बदलने, अतिरिक्त स्पेस हटाने और अन्य कार्यों हेतु कई SQL स्ट्रिंग फ़ंक्शंस उपलब्ध हैं। प्रत्येक फ़ंक्शन को उसके सिंटैक्स और संबंधित विवरण के साथ सूचीबद्ध किया गया है।
फ़ंक्शन सिंटैक्स
विवरण
LOWER(string)
सभी अक्षरों को लोअरकेस में बदलकर टेक्स्ट लौटाता है
UPPER(string)
सभी अक्षरों को अपरकेस में बदलकर टेक्स्ट लौटाता है
TRIM(string, [character])
डिफ़ॉल्ट रूप से स्ट्रिंग के बाएँ और दाएँ दोनों ओर के व्हाइट स्पेस हटाता है; यदि कोई विशेष कैरेक्टर दिया गया है तो उसे हटाता है
LTRIM(string, [character])
डिफ़ॉल्ट रूप से स्ट्रिंग के बाएँ ओर के व्हाइट स्पेस हटाता है; यदि कोई विशेष कैरेक्टर दिया गया है तो उसे हटाता है
RTRIM(string, [character])
डिफ़ॉल्ट रूप से स्ट्रिंग के दाएँ ओर के व्हाइट स्पेस हटाता है; यदि कोई विशेष कैरेक्टर दिया गया है तो उसे हटाता है
अब, कुछ उदाहरणों के जरिए समझते हैं कि इन फ़ंक्शंस को कैसे लागू किया जाए। मान लीजिए आपके पास ईमेल पते अपरकेस अक्षरों में हैं और राज्य का संक्षिप्त नाम लोअरकेस में है, और आप इन कॉलमों के फ़ॉर्मेट को सही करना चाहते हैं।
email |country|-------------------+-------+
anonymous@gmail.com|IT |संचालित द्वारा
केस बदलने के अलावा, स्ट्रिंग्स की शुरुआत या अंत में मौजूद व्हाइट स्पेस से छुटकारा पाना भी उपयोगी हो सकता है। इस प्रकार के कार्य के लिए मुख्य फ़ंक्शन TRIM() है, जो दोनों ओर से हटाता है। अन्य विकल्प LTRIM() और RTRIM() हैं, जो क्रमशः बाएँ और दाएँ ओर से व्हाइट स्पेस हटाते हैं:
SELECT TRIM(' Street Roma, 72 ')AS trimmed_address,
LTRIM(' Street Roma, 72 ')AS ltrimmed_address,
RTRIM(' Street Roma, 72 ')AS rtrimmed_addressसंचालित द्वारा
क्वेरी निम्नलिखित परिणाम लौटाती है:
trimmed_address|ltrimmed_address|rtrimmed_address|---------------+----------------+----------------+
Street Roma,72|Street Roma,72| Street Roma,72|संचालित द्वारा
आउटपुट से, आप प्रत्येक फ़ंक्शन के बीच का अंतर समझ सकते हैं। इसके अलावा, TRIM() का उपयोग व्हाइट स्पेस के अलावा अन्य विशेष कैरेक्टर्स को हटाने के लिए भी किया जा सकता है। उदाहरण के लिए, हम टेलीफ़ोन फ़ील्ड को + साइन हटाकर साफ़ करना चाहते हैं:
जैसा कि आप देख सकते हैं, टेलीफ़ोन नंबर पूरी तरह से साफ़ है।
टेक्स्ट निकालना
स्ट्रिंग्स को जोड़ने और उनके फ़ॉर्मेट में बदलाव करने के बाद, अब विशेष SQL फ़ंक्शन SUBSTRING() का उपयोग करके टेक्स्ट को निकालना सीखने का समय है। आइए इस फ़ंक्शन में महारत हासिल करने के लिए अलग-अलग उदाहरण देखें:
SELECT
SUBSTRING('Antony',1,1)AS first_character,
SUBSTRING('Antony',1,3)AS first_3characters,
SUBSTRING('Antony',1,5)AS first_5charactersसंचालित द्वारा
यह आउटपुट है:
first_character|first_3characters|first_5characters|---------------+-----------------+-----------------+
A |Ant |Anton |संचालित द्वारा
हम इस फ़ंक्शन को पहले के फ़ंक्शंस के साथ भी संयोजित कर सकते हैं ताकि पहले अक्षर को कैपिटलाइज़ करें, बाकी अक्षरों को लोअरकेस में बदलें, और फिर सभी अक्षरों को कंकेटनेट करें:
SELECT
LENGTH('antony')AS lenght_name,
SUBSTRING(UPPER('antony'),1,1)AS first_character,
SUBSTRING(LOWER('antony'),2,LENGTH('antony'))AS last_characters,
CONCAT(SUBSTRING(UPPER('antony'),1,1),SUBSTRING(LOWER('antony'),2,LENGTH('antony')))AS nameसंचालित द्वारा
यह क्वेरी निम्नलिखित परिणाम लौटाती है:
lenght_name|first_character|LAST_characters|name |-----------+---------------+---------------+------+6|A |ntony |Antony|संचालित द्वारा
अब तक देखे गए फ़ंक्शंस के अलावा, आप LENGTH() फ़ंक्शन पर ध्यान दें जो स्ट्रिंग की लंबाई निकालने में मदद करता है। इस संदर्भ में, यह अंतिम अक्षर के इंडेक्स को निर्दिष्ट करने में उपयोगी है।
SQL में स्ट्रिंग्स को खोजना और बदलना
हम स्ट्रिंग्स को खोजने और बदलने के लिए सबसे प्रमुख फ़ंक्शंस दिखा सकते हैं:
फ़ंक्शन सिंटैक्स
विवरण
REPLACE(string,x,y)
स्ट्रिंग में x मान को y मान से बदलता है
CHARINDEX(x,string)
स्ट्रिंग के भीतर x मान की स्थिति खोजता है
एक बहुत उपयोगी फ़ंक्शन REPLACE() है, जो स्ट्रिंग के भीतर किसी सबस्ट्रिंग को दूसरी सबस्ट्रिंग से बदल देता है:
SELECT'Street Roma - 32'AS address,replace('Street Roma - 32','-',',')AS cleaned_addressसंचालित द्वारा
यह आउटपुट है:
address |cleaned_address |----------------+----------------+
Street Roma -32|Street Roma ,32|संचालित द्वारा
इस मामले में, हमने पते के भीतर डैश को कॉमा से बदल दिया है। हम पते में डैश की स्थिति खोजने की भी कोशिश कर सकते हैं:
SELECT'Street Roma - 32'AS address,
LENGTH('Street Roma - 32')AS length_address,
CHARINDEX('-','Street Roma - 32')AS location_dashसंचालित द्वारा
क्वेरी निम्नलिखित परिणाम लौटाती है:
address |length_address|location_dash|----------------+--------------+-------------+
Street Roma -32|16|13|संचालित द्वारा
हम देख सकते हैं कि प्रतीक - पते की 13वीं स्थिति पर है, लगभग स्ट्रिंग के अंत में।
निष्कर्ष
इन SQL स्ट्रिंग फ़ंक्शंस में महारत हासिल करना डेटा को कुशलतापूर्वक साफ़ करने में बड़ा अंतर ला सकता है। बेशक, यह लेख सभी फ़ंक्शंस को शामिल नहीं करता, बल्कि सबसे महत्वपूर्ण फ़ंक्शंस की एक छोटी सूची देता है। सभी SQL फ़ंक्शंस हमेशा एक जैसे नहीं होते और आपके द्वारा उपयोग किए जा रहे डेटाबेस के प्रकार के अनुसार बदल सकते हैं। उदाहरण के लिए, MySQL डेटाबेस में CHARINDEX को LOCATE() से बदला जा सकता है।
इन फ़ंक्शंस का अभ्यास करने के लिए, आप हमारा Reporting in SQL कोर्स देख सकते हैं। यह आपको डेटा साफ़ करने और जटिल रिपोर्ट बनाने में विशेषज्ञ बनने में मदद कर सकता है। हम SQL Fundamentals स्किल ट्रैक की भी अनुशंसा करते हैं ताकि आप SQL के सभी आवश्यक पहलुओं को कवर कर सकें।
रिलेशनल डेटाबेस के साथ काम करते समय अक्सर अस्त-व्यस्त डेटा से निपटना पड़ता है। सबसे आम चुनौतियों में से एक है टेक्स्ट डेटा को साफ़ करना और प्रोसेस करना। सौभाग्य से, SQL शक्तिशाली स्ट्रिंग फ़ंक्शंस प्रदान करता है जो इस प्रक्रिया को बहुत अधिक कुशल बना सकते हैं, आपका समय और मेहनत बचाते हुए।
इस लेख में, हम सबसे महत्वपूर्ण SQL स्ट्रिंग फ़ंक्शंस का पता लगाने जा रहे हैं जो आपको टेक्स्ट डेटा को आसानी से साफ़ करने और संशोधित करने में मदद करेंगे। आइए शुरू करें!
SQL स्ट्रिंग फ़ंक्शंस क्या हैं?
SQL स्ट्रिंग फ़ंक्शंस इन-बिल्ट फ़ंक्शंस हैं जो हमें डेटाबेस में संग्रहीत टेक्स्ट डेटा में परिवर्तन और प्रोसेसिंग करने में सक्षम बनाते हैं। टेक्स्ट फ़ील्ड के सामान्य उदाहरणों में नाम, विवरण और पते शामिल हैं।
इन फ़ंक्शंस का उपयोग कई तरह के कार्य करने के लिए किया जा सकता है, जिनमें शामिल हैं:
SQL में स्ट्रिंग्स को कंकेटनेट करना
हम
concat()फ़ंक्शन का उपयोग करके दो या अधिक स्ट्रिंग्स को जोड़ सकते हैं:यह आउटपुट है:
यह फ़ंक्शन अलग-अलग कॉलमों द्वारा दी गई जानकारी, जैसे नाम और पते, को मिलाने के लिए व्यापक रूप से उपयोग किया जाता है।
वैकल्पिक रूप से, आप
CONCAT_WS()फ़ंक्शन का भी उपयोग कर सकते हैं:सिंटैक्स से, आप देख सकते हैं कि जब आप एक ही सेपरेटर के साथ दो से अधिक कॉलमों को संयोजित करना चाहते हैं, तो यह अधिक आसान और कुशल है।
टेक्स्ट का फ़ॉर्मेटिंग
टेक्स्ट को समायोजित करने के लिए केस बदलने, अतिरिक्त स्पेस हटाने और अन्य कार्यों हेतु कई SQL स्ट्रिंग फ़ंक्शंस उपलब्ध हैं। प्रत्येक फ़ंक्शन को उसके सिंटैक्स और संबंधित विवरण के साथ सूचीबद्ध किया गया है।
फ़ंक्शन सिंटैक्स
विवरण
सभी अक्षरों को लोअरकेस में बदलकर टेक्स्ट लौटाता है
सभी अक्षरों को अपरकेस में बदलकर टेक्स्ट लौटाता है
डिफ़ॉल्ट रूप से स्ट्रिंग के बाएँ और दाएँ दोनों ओर के व्हाइट स्पेस हटाता है; यदि कोई विशेष कैरेक्टर दिया गया है तो उसे हटाता है
डिफ़ॉल्ट रूप से स्ट्रिंग के बाएँ ओर के व्हाइट स्पेस हटाता है; यदि कोई विशेष कैरेक्टर दिया गया है तो उसे हटाता है
डिफ़ॉल्ट रूप से स्ट्रिंग के दाएँ ओर के व्हाइट स्पेस हटाता है; यदि कोई विशेष कैरेक्टर दिया गया है तो उसे हटाता है
अब, कुछ उदाहरणों के जरिए समझते हैं कि इन फ़ंक्शंस को कैसे लागू किया जाए। मान लीजिए आपके पास ईमेल पते अपरकेस अक्षरों में हैं और राज्य का संक्षिप्त नाम लोअरकेस में है, और आप इन कॉलमों के फ़ॉर्मेट को सही करना चाहते हैं।
यह आउटपुट प्राप्त होगा:
केस बदलने के अलावा, स्ट्रिंग्स की शुरुआत या अंत में मौजूद व्हाइट स्पेस से छुटकारा पाना भी उपयोगी हो सकता है। इस प्रकार के कार्य के लिए मुख्य फ़ंक्शन
TRIM()है, जो दोनों ओर से हटाता है। अन्य विकल्पLTRIM()औरRTRIM()हैं, जो क्रमशः बाएँ और दाएँ ओर से व्हाइट स्पेस हटाते हैं:क्वेरी निम्नलिखित परिणाम लौटाती है:
आउटपुट से, आप प्रत्येक फ़ंक्शन के बीच का अंतर समझ सकते हैं। इसके अलावा,
TRIM()का उपयोग व्हाइट स्पेस के अलावा अन्य विशेष कैरेक्टर्स को हटाने के लिए भी किया जा सकता है। उदाहरण के लिए, हम टेलीफ़ोन फ़ील्ड को + साइन हटाकर साफ़ करना चाहते हैं:निम्नलिखित आउटपुट लौटाया जाता है:
जैसा कि आप देख सकते हैं, टेलीफ़ोन नंबर पूरी तरह से साफ़ है।
टेक्स्ट निकालना
स्ट्रिंग्स को जोड़ने और उनके फ़ॉर्मेट में बदलाव करने के बाद, अब विशेष SQL फ़ंक्शन SUBSTRING() का उपयोग करके टेक्स्ट को निकालना सीखने का समय है। आइए इस फ़ंक्शन में महारत हासिल करने के लिए अलग-अलग उदाहरण देखें:
यह आउटपुट है:
हम इस फ़ंक्शन को पहले के फ़ंक्शंस के साथ भी संयोजित कर सकते हैं ताकि पहले अक्षर को कैपिटलाइज़ करें, बाकी अक्षरों को लोअरकेस में बदलें, और फिर सभी अक्षरों को कंकेटनेट करें:
यह क्वेरी निम्नलिखित परिणाम लौटाती है:
अब तक देखे गए फ़ंक्शंस के अलावा, आप
LENGTH()फ़ंक्शन पर ध्यान दें जो स्ट्रिंग की लंबाई निकालने में मदद करता है। इस संदर्भ में, यह अंतिम अक्षर के इंडेक्स को निर्दिष्ट करने में उपयोगी है।SQL में स्ट्रिंग्स को खोजना और बदलना
हम स्ट्रिंग्स को खोजने और बदलने के लिए सबसे प्रमुख फ़ंक्शंस दिखा सकते हैं:
फ़ंक्शन सिंटैक्स
विवरण
स्ट्रिंग में x मान को y मान से बदलता है
स्ट्रिंग के भीतर x मान की स्थिति खोजता है
एक बहुत उपयोगी फ़ंक्शन
REPLACE()है, जो स्ट्रिंग के भीतर किसी सबस्ट्रिंग को दूसरी सबस्ट्रिंग से बदल देता है:यह आउटपुट है:
इस मामले में, हमने पते के भीतर डैश को कॉमा से बदल दिया है। हम पते में डैश की स्थिति खोजने की भी कोशिश कर सकते हैं:
क्वेरी निम्नलिखित परिणाम लौटाती है:
हम देख सकते हैं कि प्रतीक
-पते की 13वीं स्थिति पर है, लगभग स्ट्रिंग के अंत में।निष्कर्ष
इन SQL स्ट्रिंग फ़ंक्शंस में महारत हासिल करना डेटा को कुशलतापूर्वक साफ़ करने में बड़ा अंतर ला सकता है। बेशक, यह लेख सभी फ़ंक्शंस को शामिल नहीं करता, बल्कि सबसे महत्वपूर्ण फ़ंक्शंस की एक छोटी सूची देता है। सभी SQL फ़ंक्शंस हमेशा एक जैसे नहीं होते और आपके द्वारा उपयोग किए जा रहे डेटाबेस के प्रकार के अनुसार बदल सकते हैं। उदाहरण के लिए, MySQL डेटाबेस में
CHARINDEXकोLOCATE()से बदला जा सकता है।इन फ़ंक्शंस का अभ्यास करने के लिए, आप हमारा Reporting in SQL कोर्स देख सकते हैं। यह आपको डेटा साफ़ करने और जटिल रिपोर्ट बनाने में विशेषज्ञ बनने में मदद कर सकता है। हम SQL Fundamentals स्किल ट्रैक की भी अनुशंसा करते हैं ताकि आप SQL के सभी आवश्यक पहलुओं को कवर कर सकें।