जवाबों:
CHARINDEX () एक बड़े स्ट्रिंग के विकल्प में खोजता है, और यदि कोई मैच नहीं मिला है, या मैच की स्थिति लौटाता है, या 0
if CHARINDEX('ME',@mainString) > 0
begin
--do something
end
यदि आप एक शब्द खोजना चाहते हैं (या शब्दों के सब-पार्टनर नहीं), तो डेनियल्स उत्तर से संपादित करें , आपका CHARINDEX कॉल इस तरह दिखेगा:
CHARINDEX(' ME ',' ' + REPLACE(REPLACE(@mainString,',',' '),'.',' ') + ' ')
(किसी भी अन्य विराम चिह्न के लिए अधिक पुनरावर्ती उत्तर () कॉल जोड़ें) हो सकता है
REPLACE
स्वयं कहा जाता है; "नेस्टेड" तब होता है जब एक फ़ंक्शन कॉल का परिणाम तुरंत दूसरे फ़ंक्शन को दिया जाता है।
select CHARINDEX('ME' collate Latin1_General_CS_AS,'Home')
और select CHARINDEX('ME' collate Latin1_General_CI_AS,'Home')
। (टकराव में, CS
केस सेंसिटिव के लिए खड़ा है और मुझे यकीन है कि आप बाहर काम कर सकते हैं CI
)।
आप वाइल्डकार्ड का उपयोग विधेय में (IF, WHERE या ON के बाद) कर सकते हैं:
@mainstring LIKE '%' + @substring + '%'
या इस विशिष्ट मामले में
' ' + @mainstring + ' ' LIKE '% ME[., ]%'
(यदि आप पूरे शब्द की तलाश कर रहे हैं, तो उद्धरण में रिक्त स्थान डालें या यदि ME मुझे किसी बड़े शब्द का हिस्सा हो सकता है तो छोड़ दें)।
N
यदि आपका कॉलम ए है nvarchar
, तो आप अपने , अन्यथा आप प्रति पंक्ति रूपांतरण प्राप्त कर सकते हैं)