Database
 sql >> डेटाबेस >  >> RDS >> Database

SQL में LIKE का उपयोग कैसे करें

समस्या:

आप एक स्ट्रिंग में एक पैटर्न से मेल खाने वाले सबस्ट्रिंग को ढूंढना चाहेंगे।

उदाहरण:

हमारे डेटाबेस में निम्नलिखित कॉलम में डेटा के साथ ग्राहक नाम की एक टेबल है:id , first_name , last_name , और city

<थ>प्रथम_नाम
आईडी last_name शहर
1 एलन वाटसन मैड्रिड
2 लिसा काला सिंगापुर
3 लौरा विलियम्स सिएटल
4 मिलान ईंट सियोल

आइए SQL में पैटर्न मिलान के कुछ उदाहरण देखें।

उदाहरण 1:

आइए प्रत्येक ग्राहक का पहला नाम, अंतिम नाम और शहर प्रदर्शित करें जिसका शहर का नाम 'S' अक्षर से शुरू होता है।

समाधान:

SELECT last_name, first_name, city  
FROM customer
WHERE city LIKE 'S%';
<थ>प्रथम_नाम
last_name शहर
लिसा काला S सिंगापुर
मिलान ईंट S ईओल
लौरा विलियम्स S खाना

हमने % वाइल्डकार्ड का उपयोग किया, जो शून्य या अधिक अज्ञात वर्णों का प्रतिनिधित्व करता है। इस वाइल्डकार्ड को स्ट्रिंग में कहीं भी इस्तेमाल किया जा सकता है।

उदाहरण 2:

आइए प्रत्येक ग्राहक का पहला नाम, अंतिम नाम और शहर दिखाएं, जिसके शहर के नाम में ठीक पांच वर्ण हैं।

समाधान:

SELECT last_name, first_name, city  
FROM customer
WHERE city LIKE '_____';

ये रहा परिणाम:

<थ>प्रथम_नाम
last_name शहर
मिलान ईंट सियोल

अंडरस्कोर वाइल्डकार्ड का उपयोग एक अज्ञात चरित्र का प्रतिनिधित्व करने के लिए किया जा सकता है। इस प्रकार, उनमें से पांच का एक पंक्ति में उपयोग करके, हम उन सभी स्ट्रिंग्स का प्रतिनिधित्व कर सकते हैं जो पांच वर्ण लंबी हैं। हमारे उदाहरण में, उस विवरण से मेल खाने वाला एकमात्र शहर सियोल है।

उदाहरण 3:

आइए प्रत्येक ग्राहक का पहला नाम, अंतिम नाम और शहर दिखाएं, जिसका शहर 'S' अक्षर से शुरू होता है और तीसरे से अंतिम वर्ण के रूप में 'o' अक्षर होता है।

समाधान:

SELECT last_name, first_name, city  
FROM customer
WHERE city LIKE 'S%o__';

ये रहा परिणाम:

<थ>प्रथम_नाम
last_name शहर
लिसा काला S इंगैप पुनः
मिलान ईंट S उल

क्वेरी ने केवल दो रिकॉर्ड लौटाए:S . से लिसा ब्लैक इंगैप S . से रे और मिलान ब्रिक ई उल. ये शहर दिए गए पैटर्न से मेल खाते हैं। यहां, हमने एक अधिक विशिष्ट पैटर्न उत्पन्न करने के लिए दोनों वाइल्डकार्ड को संयोजित किया:सभी स्ट्रिंग्स एक बड़े अक्षर 'S' से शुरू होती हैं और उसके बाद किसी भी संख्या में अन्य वर्णों को शामिल करती हैं, जब तक कि तीसरा-से-अंतिम वर्ण एक लोअरकेस अक्षर 'o' है। '

चर्चा:

यदि आप उन रिकॉर्ड्स का चयन करना चाहते हैं जिनमें एक स्ट्रिंग एक विशिष्ट पैटर्न से मेल खाती है, तो आप LIKE . का उपयोग कर सकते हैं एक WHERE . में शर्त के रूप में क्लॉज खंड। WHERE के बाद , कॉलम का नाम सूचीबद्ध करें (उदा., city ) उसके बाद LIKE स्ट्रिंग पैटर्न को निर्दिष्ट करने वाला खंड (उदा., 'S%o__' ) खोजने के लिए।

जैसा कि हमने उदाहरणों में देखा, आप वाइल्डकार्ड . नामक दो विशेष वर्णों का उपयोग कर सकते हैं अज्ञात वर्णों का प्रतिनिधित्व करने के लिए:

  • '%' वाइल्डकार्ड शून्य या अधिक वर्णों को दर्शाता है।
  • '_' वाइल्डकार्ड किसी एक वर्ण को दर्शाता है।

आप वास्तव में कुछ शक्तिशाली परिणाम प्राप्त करने के लिए इन वाइल्डकार्ड को जोड़ सकते हैं। आप एक से अधिक LIKE . को भी चेन कर सकते हैं स्थिति। अंत में, आप NOT . का उपयोग कर सकते हैं ऑपरेटर उन स्ट्रिंग्स को खोजने के लिए जो नहीं दिए गए पैटर्न का मिलान करें।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. तालिका भाव के मूल तत्व, भाग 1

  2. SQL डेटा प्रकारों को समझना - आप सभी को SQL डेटा प्रकारों के बारे में जानना आवश्यक है

  3. SQL तालिका बनाएँ… चयन कथन के रूप में

  4. एसक्यूएल मिन () शुरुआती के लिए

  5. अधिक शोप्लान सुधार? जी बोलिये!