एसक्यूएल सर्वर एक अंडरस्कोर से बचें

मैं अंडरस्कोर चरित्र से कैसे बचूं?

मैं कुछ ऐसा लिख ​​रहा हूं जहां खंड है और अंत में _d के साथ वास्तविक प्रविष्टियां ढूंढने में सक्षम होना चाहते हैं।

Where Username Like '%_d'
0
ro fr bn

2 उत्तर

T-SQL Reference for LIKE for SQL Server 2000:

आप वाइल्डकार्ड पैटर्न मिलान अक्षरों को शाब्दिक पात्रों के रूप में उपयोग कर सकते हैं। एक वाइल्डकार्ड चरित्र को शाब्दिक चरित्र के रूप में उपयोग करने के लिए, ब्रैकेट में वाइल्डकार्ड वर्ण संलग्न करें। तालिका LIKE कीवर्ड और [] वाइल्डकार्ड वर्णों का उपयोग करने के कई उदाहरण दिखाती है।

आपके मामले के लिए:

... LIKE '%[_]d'
0
जोड़ा

जाहिर है @Lasse समाधान सही है, लेकिन आपकी समस्या को हल करने का एक और तरीका है: टी-एसक्यूएल ऑपरेटर <�कोड> पसंद वैकल्पिक ESCAPE खंड, जो आपको एक वर्ण घोषित करने देता है जो पैटर्न में अगले चरित्र से बच जाएगा।

आपके मामले के लिए, निम्नलिखित WHERE खंड समकक्ष हैं:

WHERE username LIKE '%[_]d';            -- @Lasse solution
WHERE username LIKE '%$_d' ESCAPE '$';
WHERE username LIKE '%^_d' ESCAPE '^';
0
जोड़ा
चित्र को पूरा करने के लिए: ESCAPE खंड SQL मानक का हिस्सा है और केवल SQL सर्वर पर नहीं, किसी भी डीबीएमएस पर काम करेगा।
जोड़ा लेखक a_horse_with_no_name, स्रोत