आपके पास दो विकल्प हैं:
-
उन्हें
[
. में संलग्न करें और]
. तो:where pattern like '[%]'
प्रतिशत वर्ण की तलाश करता है। बचने के लिए वर्णों की पूरी सूची -
'_', '%', '[', ']'
संबंधित प्रतिस्थापन के साथ'[_]', '[%]', '[[]', '[]]'
. नमूना कोड एस्केप कैरेक्टर से बचने से काम नहीं चलता - SQL LIKE ऑपरेटर -
ऐसे एस्केप कैरेक्टर का उपयोग करें जो स्ट्रिंग में होने की संभावना नहीं है, जैसे कि बैकटिक:
where pattern like '`%' escape '`'
(MSDN पर सिंटैक्स देखें - LIKE (Transact-SQL) ।)
दोनों ही मामलों में, मैं सुझाव दूंगा कि आप अनुप्रयोग परत में प्रतिस्थापन करें, लेकिन यदि आप वास्तव में चाहते हैं तो आप इसे SQL में भी कर सकते हैं:
where pattern like replace(@pattern, '%', '[%]')
और, उपयोगकर्ता इंटरफ़ेस के संदर्भ में अंतिम-उपयोगकर्ता को वाइल्डकार्ड तक पहुंच प्रदान करना एक अच्छी बात हो सकती है।
नोट:कुछ और विशेष वर्ण हैं '-'
और '^'
LIKE क्वेरी में, लेकिन यदि आप पहले से ही '['
से बच रहे हैं, तो उन्हें भागने की आवश्यकता नहीं है और ']'
।