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