PostgreSQL पसंद, पसंद नहीं, वाइल्डकार्ड (%, _ ) उदाहरण

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

PostgreSQL LIKE फ़ंक्शन दो वाइल्डकार्ड (प्रतिशत चिह्न और अंडरस्कोर) का उपयोग करके टेक्स्ट को पैटर्न से मिलाता है। यह ट्यूटोरियल SELECT स्टेटमेंट में LIKE और NOT LIKE का उपयोग करने का तरीका बताता है, साथ ही प्रत्येक मामले के लिए psql और pgAdmin के उदाहरण भी दिए गए हैं।

  • 🔍 मूल Operaटोर: LIKE एक कॉलम या एक्सप्रेशन की तुलना वाइल्डकार्ड पैटर्न से करता है और मिलान होने पर true लौटाता है।
  • 🌟 दो अप्रत्याशित खिलाड़ी: % शून्य या अधिक वर्णों से मेल खाता है; _ बिल्कुल एक अक्षर से मेल खाता है.
  • व्युत्क्रम मिलान: NOT और LIKE को मिलाकर ऐसी पंक्तियाँ लौटाएँ जो ऐसा करती हैं नहीं पैटर्न का मिलान करें।
  • दो इंटरफेस: आप psql कमांड लाइन से या pgAdmin के अंदर ग्राफिकली समान क्वेरी चला सकते हैं।
  • 🎯 पलायनवादी चरित्र: पैटर्न के भीतर मौजूद % या _ वर्णों से मिलान करने के लिए ESCAPE क्लॉज़ का उपयोग करें।
  • 🤖 एआई बूस्ट: एआई डेटाबेस टूल सामान्य भाषा में खोज की आवश्यकताओं को LIKE पैटर्न में अनुवादित करते हैं और जब केस-इनसेंसिटिव मिलान की आवश्यकता होती है तो ILIKE का सुझाव देते हैं।

PostgreSQL पसंद, पसंद नहीं, वाइल्डकार्ड (%, _ ) उदाहरण

RSI PostgreSQL तरह यह ऑपरेटर वाइल्डकार्ड का उपयोग करके टेक्स्ट मानों का पैटर्न से मिलान करता है। यदि खोज अभिव्यक्ति पैटर्न से मेल खाती है, तो LIKE परिणाम देता है। trueवाइल्डकार्ड काम करते हैं WHERE का खंड SELECT, UPDATE, INSERTया, DELETE.

क्या हैं PostgreSQL वाइल्डकार्ड?

PostgreSQL यह दो LIKE वाइल्डकार्ड को सपोर्ट करता है:

  • प्रतिशत चिह्न (%): यह शून्य, एक या अनेक वर्णों या अंकों से मेल खाता है।
  • अंडरस्कोर (_): यह ठीक एक अक्षर या अंक से मेल खाता है।

इन दोनों प्रतीकों को एक ही पैटर्न के भीतर संयोजित किया जा सकता है। यदि LIKE का उपयोग बिना किसी वाइल्डकार्ड के किया जाता है, तो यह बराबर ( ) चिह्न की तरह व्यवहार करता है।=) ऑपरेटर।

PostgreSQL LIKE सिंटैक्स

LIKE का मूल सिंटैक्स इस प्रकार है:

expression LIKE pattern [ ESCAPE 'escape-character' ]
  • अभिव्यक्ति — एक वर्ण अभिव्यक्ति, आमतौर पर एक कॉलम या फ़ील्ड नाम।
  • पैटर्न — एक ऐसा कैरेक्टर एक्सप्रेशन जिसमें वाइल्डकार्ड शामिल हों।
  • पलायनवादी चरित्र — वैकल्पिक। आपको शाब्दिक मिलान करने की अनुमति देता है % or _ अक्षर। जब इन्हें छोड़ दिया जाता है, तो बैकस्लैश (\) डिफ़ॉल्ट एस्केप कैरेक्टर है।

PostgreSQL % वाइल्डकार्ड के साथ LIKE

RSI % चिह्न शून्य, एक या अधिक वर्णों से मेल खाता है। निम्नलिखित पर विचार करें। Book तालिका:

LIKE उदाहरणों में प्रयुक्त नमूना पुस्तक तालिका

उन पुस्तकों को खोजने के लिए जिनके नाम "Lear" से शुरू होते हैं, नीचे दिए गए क्वेरी को चलाएं।

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

क्वेरी से यह परिणाम मिलता है:

LIKE Lear% क्वेरी परिणाम मिलान करने वाली पुस्तकें लौटा रहा है

उन पुस्तकों को खोजने के लिए जिनके नाम में कहीं भी "द्वारा" शब्द आता हो:

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

क्वेरी से यह परिणाम मिलता है:

LIKE %by% क्वेरी परिणाम जिसमें मिलती-जुलती पुस्तकें हैं

PostgreSQL _ वाइल्डकार्ड के साथ लाइक करें

RSI _ यह चिह्न ठीक एक अक्षर से मेल खाता है। निम्नलिखित क्वेरी उन नामों को ढूंढती है जहां पहला अक्षर कोई भी एक अक्षर हो, उसके बाद "earn" और फिर कोई भी प्रत्यय हो:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

क्वेरी से यह परिणाम मिलता है:

LIKE _earn% क्वेरी परिणाम एकल-अक्षर उपसर्ग मिलान के साथ

एक और उदाहरण — ऐसे किसी भी टेक्स्ट का मिलान करें जो "Beginner" के साथ एक और अक्षर जोड़कर समाप्त होता हो:

SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';

क्वेरी से यह परिणाम मिलता है:

LIKE %Beginner_ क्वेरी परिणाम अंतिम एकल वर्ण से मेल खाता है

PostgreSQL उसके जैसा नहीं Operaटो

LIKE और NOT को मिलाकर उन पंक्तियों को लौटाएँ जो ऐसा करती हैं नहीं पैटर्न का मिलान करें। उदाहरण के लिए, उन सभी पुस्तकों की सूची बनाएं जिनका नाम "पोस्ट" से शुरू नहीं होता है:

SELECT *
FROM
   Book
WHERE
   name NOT LIKE 'Post%';

क्वेरी से यह परिणाम मिलता है:

पोस्ट% परिणाम में उन पुस्तकों को शामिल नहीं किया गया है जो पोस्ट से शुरू होती हैं।

केवल एक पुस्तक ही इस शर्त को पूरा करती है। अब उन सभी पुस्तकों की सूची बनाएं जिनके नाम इस शर्त को पूरा नहीं करते। नहीं जिसमें “Made” शब्द शामिल हो:

SELECT *
FROM
   Book
WHERE
   name NOT LIKE '%Made%';

क्वेरी से यह परिणाम मिलता है:

%Made% परिणाम में तीन मिलती-जुलती पुस्तकें नहीं मिलीं।

तीन पंक्तियाँ इस शर्त को पूरा करती हैं।

pgAdmin के साथ LIKE का उपयोग करना

इन्हीं प्रश्नों को pgAdmin के क्वेरी टूल के अंदर ग्राफिक रूप से भी चलाया जा सकता है।

pgAdmin में % वाइल्डकार्ड

चरण 1) pgAdmin में लॉग इन करें।

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

pgAdmin नेविगेशन ट्री जिसमें डेटाबेस और डेमो विस्तारित हैं

चरण 3) क्वेरी एडिटर में क्वेरी टाइप करें:

SELECT *
FROM
   Book
WHERE
   name LIKE 'Lear%';

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

pgAdmin क्वेरी टूल जिसमें एक्ज़ीक्यूट टूलबार बटन है

परिणाम फलक में मिलान करने वाली पुस्तकें दिखाई देती हैं:

LIKE Lear% क्वेरी के लिए pgAdmin परिणाम फलक

किसी ऐसी पुस्तक को खोजने के लिए जिसके नाम में कहीं भी "द्वारा" शब्द हो:

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

SELECT *
FROM
   Book
WHERE
   name LIKE '%by%';

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

pgAdmin क्वेरी टूल LIKE %by% क्वेरी चला रहा है

परिणाम फलक में निम्नलिखित प्रदर्शित होता है:

LIKE %by% क्वेरी के लिए pgAdmin परिणाम फलक

pgAdmin में वाइल्डकार्ड

चरण 1) pgAdmin में लॉग इन करें।

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

pgAdmin नेविगेशन ट्री डेटाबेस ट्री को दर्शाता है

चरण 3) क्वेरी एडिटर में क्वेरी टाइप करें:

SELECT *
FROM
   Book
WHERE
   name LIKE '_earn%';

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

pgAdmin क्वेरी टूल LIKE _earn% क्वेरी चला रहा है

परिणाम फलक में निम्नलिखित प्रदर्शित होता है:

LIKE _earn% क्वेरी के लिए pgAdmin परिणाम फलक

चरण 5) दूसरा उदाहरण चलाएँ:

  1. क्वेरी एडिटर में क्वेरी टाइप करें:
SELECT *
FROM
   Book
WHERE
   name LIKE '%Beginner_';
  1. क्लिक करें निष्पादित करना.

pgAdmin क्वेरी टूल LIKE %Beginner_ query चला रहा है

परिणाम फलक में निम्नलिखित प्रदर्शित होता है:

pgAdmin परिणाम फलक LIKE %Beginner_ क्वेरी के लिए

pgAdmin की तरह नहीं

चरण 1) pgAdmin में लॉग इन करें।

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

उदाहरण के लिए pgAdmin नेविगेशन ट्री

चरण 3) उन सभी पुस्तकों की सूची बनाने के लिए जिनका नाम "Post" से शुरू नहीं होता है, टाइप करें:

SELECT *
FROM
   Book
WHERE
   name NOT LIKE 'Post%';

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

pgAdmin क्वेरी टूल चल रहा है, पोस्ट% क्वेरी की तरह नहीं।

परिणाम फलक में निम्नलिखित प्रदर्शित होता है:

NOT LIKE Post% क्वेरी के लिए pgAdmin परिणाम फलक

NOT LIKE क्वेरी के लिए अतिरिक्त pgAdmin परिणाम विवरण

उन पुस्तकों की सूची बनाएं जिनके नाम में "मेड" शब्द शामिल नहीं है:

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

SELECT *
FROM
   Book
WHERE
   name NOT LIKE '%Made%';

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

pgAdmin क्वेरी टूल चल रहा है, %Made% क्वेरी की तरह नहीं।

परिणाम फलक में निम्नलिखित प्रदर्शित होता है:

NOT LIKE %Made% क्वेरी के लिए pgAdmin परिणाम फलक

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

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

LIKE केस-सेंसिटिव है जबकि ILIKE केस-इनसेसिटिव मैचिंग करता है। ILIKE एक PostgreSQL एक्सटेंशन। उदाहरण के लिए, नाम ILIKE 'lear%' "Learn" और "LEAR" दोनों से मेल खाता है। ILIKE का उपयोग तब करें जब उपयोगकर्ता इनपुट का केस अप्रत्याशित हो।

एस्केप कैरेक्टर घोषित करने के लिए ESCAPE क्लॉज़ का उपयोग करें, फिर लिटरल वाइल्डकार्ड को प्रीफ़िक्स करें। उदाहरण के लिए, WHERE code LIKE '50!%%' ESCAPE '!' उन मानों को खोजता है जो “50%” से शुरू होते हैं क्योंकि विस्मय चिह्न प्रतिशत चिह्न को एस्केप कर देता है।

साधारण उपसर्ग, प्रत्यय या उपस्ट्रिंग मिलान के लिए LIKE का उपयोग करें। वर्ण वर्ग, प्रत्यावर्तन या परिमाणक की आवश्यकता होने पर POSIX रेगुलर एक्सप्रेशन (~ और ~*) पर स्विच करें। रेगुलर एक्सप्रेशन अधिक शक्तिशाली है, लेकिन बुनियादी पैटर्न के लिए आमतौर पर LIKE से धीमा होता है।

हां. AI टेक्स्ट-टू-एसक्यूएल कोपायलट जैसे सहायक, "उन ग्राहकों को ढूंढें जिनके ईमेल में acme शामिल है" जैसे प्रॉम्प्ट को 'name LIKE '%acme%'' में अनुवादित करते हैं और वाइल्डकार्ड लॉजिक की व्याख्या करते हैं, जिससे तदर्थ रिपोर्टिंग में तेजी आती है।

जेनरेटिव एआई क्वेरी प्लान की जांच करता है, लीडिंग-वाइल्डकार्ड लाइक सर्च के लिए ट्राइग्राम इंडेक्स (pg_trgm) की सिफारिश करता है, और इंडेक्स के उपयोग को रोकने वाले पैटर्न को फिर से लिखता है। इससे बड़े डेटासेट पर पूर्ण टेबल स्कैन मिलीसेकंड में लुकअप में बदल जाते हैं। PostgreSQL टेबल।

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