2010-04-12 9 views
10

के भाग वाली पंक्तियों का चयन करें, मैं साइट एसईओ के लिए एक तुलना प्रक्रिया (टी-एसक्यूएल) लिखना चाहता हूं।एसक्यूएल स्ट्रिंग

मेरे पास फ़ील्ड 'यूआरएल' (nvarchar()) वाली एक तालिका है जिसमें साइट यूआरएल का एक हिस्सा शामिल है। पूर्व: 'mysyte.com/?id=2'। इसके अलावा प्रत्येक यूआरएल के लिए यह तालिका मेटाडेटा है, जिसे मुझे निकालने की आवश्यकता है।

मुख्य समस्या साइट पर पूर्ण यूआरएल की तरह 'mysyte.com/?id=2 & क्षेत्र = 0 & पेज = 1' लग रहा है कि है, और मैं सिर्फ तालिका में, everething की अनदेखी करने की जरूरत है यूआरएल को छोड़कर:

मेरा मतलब है: 'mysyte.com/?id=2' => है का एक हिस्सा 'mysyte.com/?id=2 & क्षेत्र = 0 & पेज = 1'

उत्तर

4

आप टी-एसक्यूएल में CHARINDEX का उपयोग कर सकते हैं।

select * from table where CHARINDEX(url, 'http://url.com/url?url...') > 0

45

आप एक T-SQL स्ट्रिंग, उदा की सामग्री की तुलना करना चाहते ऑपरेटर का उपयोग कर सकते हैं

SELECT * FROM [table] WHERE [field] LIKE '%stringtosearchfor%'. 

प्रतिशत चरित्र '%' इस मामले में एक जंगली कार्ड यह किसी भी रिकॉर्ड जहां [field] कम से कम मूल्य "stringtosearchfor" शामिल लौटने का कहना है।

+1

एक निश्चित उपसर्ग के साथ शुरू होने वाली स्ट्रिंग को खोजने के लिए, आप 'prefix%' की तरह कर सकते हैं – tschwab

संबंधित मुद्दे