मान लें कि मेरे पास एक फल तालिका है जिसमें एक ही सेल में डेटा 'Apple Mango Banana Guava' है।
declare @label nvarchar(255) = 'ango'
select fruit from fruits
where fruit like '%'+@label+'%'
उपरोक्त क्वेरी के साथ, मुझे आंशिक मिलान के लिए परिणाम मिलता है, लेकिन मैं चाहता हूं कि यह केवल तभी काम करे जब सटीक शब्द 'Apple Mango Banana Guava' स्ट्रिंग से मेल खा रहा हो।
उदाहरण: अगर मैं आम की खोज करता हूं, तो यह मुझे परिणाम दिखाना चाहिए, एंजो के लिए नहीं।
2 जवाब
आप उपयोग कर सकते हैं:
declare @label nvarchar(255) = 'ango'
select fruit from fruits
where (' ' + fruit + ' ') like '% '+@label+' %'
मैं आपकी स्कीमा को सामान्य करने की दृढ़ता से अनुशंसा करता हूं और एकाधिक मानों को एकल कॉलम के रूप में संग्रहीत नहीं करता हूं।
पूर्ण का उपयोग करें पाठ खोज. यह सक्षम करता है शामिल हैं विधेय। उदाहरण के लिए:
SELECT *
FROM Fruits
WHERE CONTAINS(FruitName, '"Mango"')
SELECT *
FROM Fruits
WHERE CONTAINS(FruitName, '"Man*"')
पहली क्वेरी उन सभी फलों को लौटाती है जिनके नाम में मैंगो शब्द है।
दूसरी क्वेरी उन सभी फलों को लौटाती है जिनके नाम में एक शब्द है जो मनुष्य से शुरू होता है।
संबंधित सवाल
नए सवाल
sql
संरचित क्वेरी भाषा (एसक्यूएल) डेटाबेस को क्वेरी करने के लिए एक भाषा है। प्रश्नों में कोड उदाहरण, तालिका संरचना, नमूना डेटा और DBMS कार्यान्वयन के लिए एक टैग (जैसे MySQL, PostgreSQL, Oracle, MS SQL Server, IBM DB2, आदि) का उपयोग किया जाना चाहिए। यदि आपका प्रश्न केवल एक विशिष्ट DBMS (विशिष्ट एक्सटेंशन / सुविधाओं का उपयोग करता है) से संबंधित है, तो इसके बजाय उस DBMS के टैग का उपयोग करें। एसक्यूएल के साथ टैग किए गए सवालों के जवाब में आईएसओ / आईईसी मानक एसक्यूएल का उपयोग करना चाहिए।