समस्या:
आप उन पंक्तियों का चयन करना चाहेंगे जिनमें किसी दिए गए वर्णों के समूह से शुरू होने वाली स्ट्रिंग हो।
उदाहरण:
हमारे डेटाबेस में gamer
. नाम की एक टेबल है id
. में डेटा के साथ और user
कॉलम।
आईडी | उपयोगकर्ता |
---|---|
1 | सुपरमैन |
2 | मैग्नस |
3 | लुसी |
4 | स्टेन |
5 | अली |
आइए उन गेमर्स के लिए सभी डेटा ढूंढें जिनके उपयोगकर्ता नाम 'ए', 'बी', 'आर', या 'एस' से शुरू होते हैं।
समाधान:
SELECT id, user FROM gamer WHERE user LIKE '[abrs]%';
ये रहा परिणाम:
आईडी | उपयोगकर्ता |
---|---|
1 | सुपरमैन |
4 | स्टेन |
5 | अली |
चर्चा:
यदि आप किसी दिए गए पैटर्न से मेल खाने वाली स्ट्रिंग वाली पंक्तियों को फ़िल्टर करना चाहते हैं, तो LIKE ऑपरेटर के साथ WHERE क्लॉज का उपयोग करें। WHERE क्लॉज का उपयोग उन रिकॉर्ड्स को फ़िल्टर करने के लिए किया जाता है जो बताई गई शर्तों को पूरा करते हैं। WHERE के बाद, आप एक कॉलम नाम या एक एक्सप्रेशन जोड़ते हैं, उसके बाद ऑपरेटर (जैसे LIKE) और तुलना मान (ओं) को जोड़ते हैं। LIKE के बाद, आप मिलान करने के लिए पैटर्न दर्ज करते हैं (हमारे उदाहरण में, WHERE user LIKE '[abrs]%'
) पैटर्न में वर्ण और वाइल्डकार्ड हो सकते हैं।
टी-एसक्यूएल के वाइल्डकार्ड में से एक '%' है, जो शून्य या अधिक अज्ञात वर्णों का प्रतिनिधित्व करता है। अंडरस्कोर वाइल्डकार्ड (_) एक वर्ण को इंगित करता है। कोष्ठक ( [] ) मिलान करने के लिए पैटर्न संलग्न करते हैं; इस पैटर्न में एक या अधिक अक्षर या संख्याएँ हो सकती हैं। लक्ष्य स्ट्रिंग कोष्ठक में एक या अधिक वर्णों से मेल खा सकती है।
हमारे उदाहरण में, पैटर्न '[abrs]%'
यह दर्शाता है कि उपयोगकर्ता नाम या तो a, b, r, या s से शुरू होना चाहिए। प्रारंभिक वर्ण के बाद, शून्य या अधिक वर्ण हो सकते हैं क्योंकि हमने % वाइल्डकार्ड का उपयोग किया है।
id=2 . वाले उपयोगकर्ता और id=3 प्रदर्शित नहीं होते हैं; उनके नाम 'l' और 'm' से शुरू होते हैं और इसलिए हमारे द्वारा चुने गए पैटर्न से मेल नहीं खाते।