2012-12-11 21 views
6

एंड्रॉइड जेलीबीन 4.1 पर एक LIKE वाइल्डकार्ड चरित्र से बचना संभव है और अभी भी इंडेक्स का उपयोग करना पसंद है?एंड्रॉइड एसक्यूएलएइट की तरह वाइल्डकार्ड से बचें

उपयोग:

where field like 'xyz_abc' 

बचने करता वाइल्डकार्ड Android पर काम करते हैं:

where field like 'xyz\_abc' 

के विपरीत? और वाइल्डकार्ड से बचने पर यह अभी भी इंडेक्स का उपयोग करेगा?

क्या मैं वर्तमान में कर रहा हूँ है:

where field like 'xyz_abc' and lower(field) = lower('xyz_abc') 

कौन सा वाइल्डकार्ड वर्ण की वजह से बुरी तरह अक्षम है।

where field like 'xyz\_abc' escape '\' 

SQLite प्रलेखन में खंड The LIKE and GLOB operators देखें:

धन्यवाद

+0

http://stackoverflow.com/questions/9076561/android-sqlitedatabase-query-with- जैसा कि वहां एक नज़र डालें, इससे आपको शायद मदद मिलेगी! – Pavlos

+0

यदि आप वाइल्डकार्ड के रूप में '_' नहीं चाहते हैं तो 'xyz_abc''' फ़ील्ड 'फ़ील्ड =' xyz_abc'' होना चाहिए। कम से कम एक वाइल्डकार्ड के बिना 'पसंद' उपयोगी नहीं है। – Sam

+0

धन्यवाद, लेकिन कॉलम केस असंवेदनशील है। स्रोत डेटा कोई भी मामला हो सकता है उदाहरण के लिए, 'Xyz_abc' या 'xyz_Abc' हालांकि कॉलम में केवल एक ही छोटा ('XyZ_AbC') होगा। मैं सब कुछ कम मामले में बदलने के लिए डेटाबेस को संशोधित करने के लिए पैच रिलीज लिखने से बचने की कोशिश कर रहा हूं। –

उत्तर

16

आप ESCAPE खंड का उपयोग करने की जरूरत है।

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^