PostgreSQL रेगेक्स उदाहरण के साथ SUBSTRING() फ़ंक्शन

⚡ स्मार्ट सारांश

PostgreSQL सबस्ट्रिंग extracयह फ़ंक्शन एक स्ट्रिंग का हिस्सा लौटाता है, जिसमें वैकल्पिक प्रारंभिक स्थिति और लंबाई का उपयोग किया जाता है, और यह संख्याओं या कोड जैसे पैटर्न को निकालने के लिए POSIX रेगुलर एक्सप्रेशन के विरुद्ध टेक्स्ट का मिलान भी करता है।

  • ???? सिंटेक्स: substring( string [from start] [for length] ) स्रोत स्ट्रिंग का एक भाग लौटाता है।
  • 1️⃣ पद: अक्षर की स्थिति 1 से शुरू होती है, और लंबाई को छोड़ देने पर स्ट्रिंग के अंत तक पढ़ा जा सकता है।
  • 🔎 रेगुलर एक्सप्रेशन: SUBSTRING(string FROM pattern) extracयह पहला टेक्स्ट है जो POSIX रेगुलर एक्सप्रेशन से मेल खाता है।
  • 🧮 Grouping: पैटर्न में कोष्ठक में स्थित समूह केवल मिलान के उस भाग को लौटाता है जिसे कैप्चर किया गया है।
  • pgAdmin: pgAdmin क्वेरी एडिटर के अंदर प्रत्येक सबस्ट्रिंग क्वेरी एक ही तरीके से चलती है।
  • 🤖 एआई सहायता: एआई सहायक सटीक सबस्ट्रिंग एक्सप्रेशन के लिए रेगुलर एक्सप्रेशन पैटर्न उत्पन्न और समझाते हैं।traction।

PostgreSQL रेगुलर एक्सप्रेशन के साथ सबस्ट्रिंग फ़ंक्शन

एचएमबी क्या है? PostgreSQL सबस्ट्रिंग?

RSI PostgreSQL सबस्ट्रिंग फ़ंक्शन आपको एक्सप्रेशन करने में मदद करता है।tracयह स्ट्रिंग का एक हिस्सा लौटाता है। पूरी स्ट्रिंग लौटाने के बजाय, यह केवल उसका एक हिस्सा लौटाता है, जो कोड को छोटा करने और निश्चित चौड़ाई वाले फ़ील्ड को पढ़ने के लिए उपयोगी है।

वाक्य - विन्यास

RSI PostgreSQL सबस्ट्रिंग फ़ंक्शन निम्नलिखित सिंटैक्स लेता है:

substring( string [from starting_position] [for length] )

पैरामीटर्स

सबस्ट्रिंग फ़ंक्शन के साथ निम्नलिखित पैरामीटर का उपयोग किया जाता है:

स्ट्रिंग स्रोत स्ट्रिंग जिसका डेटा प्रकार varchar, char, string आदि है.
प्रारंभिक_स्थिति एक वैकल्पिक पैरामीटर। यह उस स्थान को दर्शाता है जहाँ पूर्वtracस्ट्रिंग का निर्माण शुरू हो जाएगा। यदि आप इस पैरामीटर को छोड़ देते हैं, तोtracयह स्ट्रिंग की शुरुआत स्थिति 1 से होती है, जो स्ट्रिंग का पहला अक्षर है।
लंबाई यह एक वैकल्पिक पैरामीटर है। यह प्रदर्शित किए जाने वाले वर्णों की संख्या को दर्शाता है।tracस्ट्रिंग से लिया गया। यदि आप इस पैरामीटर को छोड़ देते हैं, तो फ़ंक्शन extracस्ट्रिंग के आरंभिक स्थान से अंत तक की लंबाई।

उदाहरण

इस उदाहरण में, हम यह जानना चाहते हैं कि...tracशब्द के पहले 4 अक्षर Guru99:

SELECT substring('Guru99' for 4);

यह आदेश निम्नलिखित परिणाम देगा:

PostgreSQL सबस्ट्रिंग

हमने शुरुआती स्थिति निर्दिष्ट नहीं की थी, इसलिए पूर्वtracसबस्ट्रिंग का विभाजन स्थिति 1 से शुरू हुआ। चार वर्ण हटा दिए गए।tracउपरोक्त परिणाम लौटाने के लिए अनुकूलित।

निम्नलिखित उदाहरण दिखाता है कि प्रारंभिक स्थिति कैसे निर्दिष्ट करें:

SELECT substring('Guru99' from 1 for 4);

यह आदेश निम्नलिखित परिणाम देगा:

PostgreSQL सबस्ट्रिंग

हमने यह स्पष्ट किया कि पूर्वtracसबस्ट्रिंग का विभाजन स्थिति 1 से शुरू होना चाहिए, और 4 वर्णों को शामिल किया जाना चाहिए।tracटेड।

आइए हमtracस्ट्रिंग से t 99 Guru99:

SELECT substring('Guru99' from 5);

यह आदेश निम्नलिखित परिणाम देगा:

PostgreSQL सबस्ट्रिंग

हमने प्रारंभिक स्थिति को 5 के रूप में निर्दिष्ट किया। चूंकि अपेक्षित वर्णों की संख्याtracटेड का उल्लेख नहीं किया गया था, पूर्वtracयह क्रिया स्ट्रिंग के अंत तक चली गई।

यहाँ एक और उदाहरण है:

SELECT substring('Guru99' from 5 for 2);

यह आदेश निम्नलिखित परिणाम देगा:

PostgreSQL सबस्ट्रिंग

हमने शुरुआत कीtracस्थिति 5 पर, और 2 अक्षर हटा दिए गए थेtracटेड।

नीचे दी गई पुस्तक तालिका पर विचार करें:

PostgreSQL सबस्ट्रिंग बुक टेबल

हम प्रत्येक पुस्तक के नाम के बारे में एक मोटा-मोटा अनुमान लगाना चाहते हैं। हम अनुमान लगा सकते हैं।tracतालिका के नाम कॉलम से केवल पहले 15 अक्षर ही लें:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

यह आदेश निम्नलिखित परिणाम देगा:

PostgreSQL सबस्ट्रिंग परिणाम

अब हमें हर पुस्तक के नाम के बारे में मोटा-मोटा अंदाजा हो गया है।

SQL रेगुलर एक्सप्रेशन के साथ सबस्ट्रिंग का मिलान करना

In PostgreSQLआप पूर्वtracएक सबस्ट्रिंग जो एक निर्दिष्ट POSIX रेगुलर एक्सप्रेशन से मेल खाती है। इस मामले में, सबस्ट्रिंग फ़ंक्शन निम्नलिखित सिंटैक्स का उपयोग करता है:

SUBSTRING(string FROM matching_pattern)

or

SUBSTRING(string, matching_pattern);

ऊपर दिए गए पैरामीटरों की व्याख्या यहाँ दी गई है। स्ट्रिंग स्रोत स्ट्रिंग है, जिसका डाटा प्रकार यह varchar, char, string इत्यादि प्रकार की स्ट्रिंग होती है। matching_pattern वह पैटर्न है जिसका उपयोग स्ट्रिंग में खोजने के लिए किया जाता है।

उदाहरण

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

यह आदेश निम्नलिखित परिणाम देगा:

SQL रेगुलर एक्सप्रेशन के साथ सबस्ट्रिंग का मिलान करना

हमारी इनपुट स्ट्रिंग है "आपकी उम्र 22 है"। पैटर्न में, हम एक संख्यात्मक पैटर्न खोजते हैं; जब यह मिल जाता है, तो सबस्ट्रिंग फ़ंक्शन का उपयोग किया जाता है।tracइसमें केवल दो अक्षर हैं।

pgAdmin का उपयोग करके सबस्ट्रिंग का मिलान कैसे करें

अब आइए देखते हैं कि pgAdmin का उपयोग करके ये क्रियाएँ कैसे की जाती हैं। जिन क्वेरीज़ को डेटाबेस की आवश्यकता नहीं होती, उन्हें क्वेरी एडिटर विंडो से सीधे निष्पादित किया जा सकता है। बस निम्नलिखित करें:

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2) pgAdmin पर, क्वेरी टूल आइकन पर क्लिक करें।

pgAdmin का उपयोग करके सबस्ट्रिंग का मिलान करना

क्वेरी संपादक विंडो खुल जाएगी.

चरण 3) एडिटर विंडो में निम्नलिखित क्वेरी टाइप करें।

SELECT substring('Guru99' for 4);

चरण 4) क्वेरी निष्पादित करने के लिए निष्पादित करें आइकन पर क्लिक करें.

pgAdmin का उपयोग करके सबस्ट्रिंग का मिलान करना

चरण 5) क्वेरी का निष्पादन पूरा हो गया है। इससे निम्नलिखित परिणाम प्राप्त होने चाहिए:

pgAdmin का उपयोग करके सबस्ट्रिंग का मिलान करना

उदाहरण 2:

SELECT substring('Guru99' from 1 for 4);

इसे निम्नलिखित लौटना चाहिए:

pgAdmin का उपयोग करके सबस्ट्रिंग का मिलान करना

अगला उदाहरण इस प्रकार है:

SELECT substring('Guru99' from 5);

इसे निम्नलिखित लौटना चाहिए:

pgAdmin का उपयोग करके सबस्ट्रिंग का मिलान करना

उदाहरण 3:

SELECT substring('Guru99' from 5 for 2);

इसे निम्नलिखित लौटना चाहिए:

pgAdmin का उपयोग करके सबस्ट्रिंग का मिलान करना

अब, आइए डेमो डेटाबेस की बुक तालिका का उपयोग करके उदाहरण चलाएं:

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2) बाईं ओर स्थित नेविगेशन बार से, डेटाबेस पर क्लिक करें, फिर डेमो पर क्लिक करें।

pgAdmin का उपयोग करके सबस्ट्रिंग का मिलान करना

चरण 3) क्वेरी संपादक में क्वेरी टाइप करें:

SELECT
   id,
   SUBSTRING(name, 1, 15 ) AS name_initial
FROM
   Book
ORDER BY
   id;

चरण 4) निष्पादित करें बटन पर क्लिक करें.

pgAdmin का उपयोग करके सबस्ट्रिंग का मिलान करना

इसे निम्नलिखित लौटना चाहिए:

PostgreSQL सबस्ट्रिंग परिणाम

अब हमें हर पुस्तक के नाम का मूल विचार पता है।

SQL रेगुलर एक्सप्रेशन के साथ सबस्ट्रिंग का मिलान करना

pgAdmin पर ऐसा करने के लिए, निम्नलिखित करें:

चरण 1) अपने pgAdmin खाते में लॉगिन करें.

चरण 2) क्वेरी टूल आइकन पर क्लिक करें.

SQL रेगुलर एक्सप्रेशन के साथ सबस्ट्रिंग का मिलान करना

क्वेरी संपादक विंडो खुल जाएगी.

चरण 3) एडिटर विंडो में निम्नलिखित क्वेरी टाइप करें।

SELECT
   SUBSTRING (
      'Your age is 22',
      '([0-9]{1,2})'
   ) as age;

चरण 4) क्वेरी निष्पादित करने के लिए निष्पादित करें आइकन पर क्लिक करें.

SQL रेगुलर एक्सप्रेशन के साथ सबस्ट्रिंग का मिलान करना

इसे निम्नलिखित लौटना चाहिए:

SQL रेगुलर एक्सप्रेशन के साथ सबस्ट्रिंग का मिलान करना

इस ट्यूटोरियल में प्रयुक्त डेटाबेस डाउनलोड करें

अक्सर पूछे जाने वाले प्रश्न

SUBSTR, SUBSTRING का संक्षिप्त रूप है और स्ट्रिंग का एक भाग लौटाता है। SUBSTRING SQL मानक FROM और FOR कीवर्ड के साथ-साथ POSIX रेगुलर एक्सप्रेशन का भी समर्थन करता है, जबकि SUBSTR केवल अल्पविराम से अलग किए गए स्थिति और लंबाई तर्क स्वीकार करता है।

PostgreSQL SUBSTRING एक-आधारित फ़ंक्शन है, इसलिए पहला अक्षर 0 के बजाय 1 स्थान पर होता है। शुरुआती स्थिति 1 देने पर स्ट्रिंग पहले अक्षर से आगे की पूरी स्ट्रिंग प्राप्त होती है।

जब POSIX पैटर्न किसी से मेल नहीं खाता, तो SUBSTRING खाली स्ट्रिंग के बजाय NULL लौटाता है। IS NULL का उपयोग करके परिणाम की जाँच करने से आपको उन पंक्तियों को संभालने में मदद मिलती है जहाँ अपेक्षित पैटर्न अनुपस्थित है।

किसी अक्षर के बाद आने वाले भाग को कैप्चर करने के लिए रेगुलर एक्सप्रेशन का उपयोग करें। उदाहरण के लिए, SUBSTRING(email FROM '@(.*)') @ चिह्न के बाद का सब कुछ लौटाता है, जिससे आपको प्रत्येक ईमेल पते का डोमेन भाग मिल जाता है।

जब आपको पहले मिलान वाले टेक्स्ट को एक साधारण मान के रूप में चाहिए, तो SUBSTRING का उपयोग करें। regexp_matches() का चयन तब करें जब आप प्रत्येक मिलान या एकाधिक कैप्चर समूहों को एक ऐरे के रूप में प्राप्त करना चाहते हों, क्योंकि SUBSTRING केवल पहला मिलान लौटाता है।

GitHub Copilot जैसे AI सहायक एक साधारण अंग्रेज़ी विवरण को POSIX पैटर्न में बदल देते हैं, बताते हैं कि प्रत्येक टोकन किससे मेल खाता है, और परीक्षण स्ट्रिंग सुझाते हैं, जिससे सबस्ट्रिंग एक्सप्रेशन बनाते समय ट्रायल-एंड-एरर कम हो जाता है।tracप्रश्न।

जी हां। आप टेक्स्ट के जिस हिस्से को चाहते हैं, उसका वर्णन करें, और एआई सहायक सही स्थितियों या रेगुलर एक्सप्रेशन के साथ एक सबस्ट्रिंग कॉल तैयार कर देगा, जिसे आप pgAdmin के अंदर चलाकर परिष्कृत कर सकते हैं।

जी हां, पॉसिक्स सबस्ट्रिंग मिलान डिफ़ॉल्ट रूप से केस-सेंसिटिव होता है। केस की परवाह किए बिना मिलान करने के लिए, दोनों इनपुट को लोअरकेस में बदलें, उदाहरण के लिए SUBSTRING(lower(name) FROM lower(pattern)), ताकि अपरकेस और लोअरकेस अक्षरों को समान माना जाए।

इस पोस्ट को संक्षेप में इस प्रकार लिखें: