Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL पैरामीटर का उपयोग करके SQL LIKE कथन में विशेष वर्णों से बचना

आपके पास दो विकल्प हैं:

  • उन्हें [ . में संलग्न करें और ] . तो:

    where pattern like '[%]'
    

    प्रतिशत वर्ण की तलाश करता है। बचने के लिए वर्णों की पूरी सूची - '_', '%', '[', ']' संबंधित प्रतिस्थापन के साथ '[_]', '[%]', '[[]', '[]]' . नमूना कोड एस्केप कैरेक्टर से बचने से काम नहीं चलता - SQL LIKE ऑपरेटर

  • ऐसे एस्केप कैरेक्टर का उपयोग करें जो स्ट्रिंग में होने की संभावना नहीं है, जैसे कि बैकटिक:

    where pattern like '`%' escape '`'
    

    (MSDN पर सिंटैक्स देखें - LIKE (Transact-SQL) ।)

दोनों ही मामलों में, मैं सुझाव दूंगा कि आप अनुप्रयोग परत में प्रतिस्थापन करें, लेकिन यदि आप वास्तव में चाहते हैं तो आप इसे SQL में भी कर सकते हैं:

where pattern like replace(@pattern, '%', '[%]')

और, उपयोगकर्ता इंटरफ़ेस के संदर्भ में अंतिम-उपयोगकर्ता को वाइल्डकार्ड तक पहुंच प्रदान करना एक अच्छी बात हो सकती है।

नोट:कुछ और विशेष वर्ण हैं '-' और '^' LIKE क्वेरी में, लेकिन यदि आप पहले से ही '[' से बच रहे हैं, तो उन्हें भागने की आवश्यकता नहीं है और ']'



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में डेटाबेस मेल को कॉन्फ़िगर करना

  2. लाखों रिकॉर्ड डालने पर मैं SQL सर्वर में लॉग वृद्धि को कैसे रोक सकता हूं

  3. SQL सर्वर डेटाबेस में सक्षम / अक्षम चेक बाधाओं की सूची कैसे प्राप्त करें - SQL सर्वर / TSQL ट्यूटोरियल भाग 86

  4. घातक त्रुटि:अपरिभाषित फ़ंक्शन पर कॉल करें sqlsrv_connect ()

  5. अल्फा कॉलम के लिए एएससी/डीईएससी द्वारा सशर्त एसक्यूएल ऑर्डर