मैं Users
नामक तालिका से पंक्तियां चुनना चाहता हूं जहां कॉलम Logon
"foo"
के बराबर है - हालांकि, मैं "Foo"
या "FOO"
वापस करना चाहता हूं।क्या ओरेकल में कोई कॉलम केस केस संवेदनशील नहीं है?
मैं की तरह कुछ कर सकता है:
SELECT Id, Name FROM Users WHERE UPPER(Logon) = 'FOO';
और फिर अपरकेस करने के लिए अपने पैरामीटर परिवर्तित। हालांकि, हमारे कोड में हमारे पास सचमुच सैकड़ों धब्बे हैं जहां हमें इसे अपडेट करना होगा।
क्या तालिका स्कीमा स्वयं केस-असंवेदनशील बनाने का कोई तरीका है, इसलिए ये प्रश्न बिना संशोधन के काम करेंगे? धन्यवाद!
अद्यतन
मैं नहीं बल्कि पूरे डेटाबेस में या सत्र स्तर पर मामले संवेदनशीलता में परिवर्तन नहीं होगा। एसक्यूएल प्रश्नों को बदलना मुश्किल है क्योंकि हम .NET इकाई फ्रेमवर्क का उपयोग करते हैं और इस जगह के खिलाफ इस तालिका के खिलाफ LINQ क्वेरीज रखते हैं। ऐसा नहीं लगता है कि ईएफ स्वचालित रूप से कनवर्ट करने का समर्थन करता है जबतक कि आप प्रत्येक LINQ क्वेरी को भी बदलना नहीं चाहते हैं।
जांचें http://stackoverflow.com/questions/2001165/oracle-11g-case-insensi tive-by-default – a1ex07
मैं टेबल और/या कॉलम स्तर नियंत्रण रखने का एक तरीका ढूंढ रहा हूं, मैं अभी पूरे डेटाबेस को बदलना नहीं चाहता हूं। –