एक तरीका यह होगा कि आप अपने सत्र मापदंडों को संशोधित करें NLS_SORT
और NLS_COMP
:
SQL> SELECT Name FROM CollationTestTable WHERE NAME LIKE '%pe%';
NAME
--------------------------------------------------------------------------------
pepe
SQL> alter session set nls_sort=Latin_AI;
Session altered
SQL> alter session set nls_comp=linguistic;
Session altered
SQL> SELECT Name FROM CollationTestTable WHERE NAME LIKE '%pe%';
NAME
--------------------------------------------------------------------------------
pepe
pépé
PEPE
जैसा कि दूसरे SO में दिखाया गया है, आप LIKE ऑपरेटर का उपयोग NLSSORT
. के साथ नहीं कर सकते हैं (ऐसा इसलिए है, क्योंकि NLSSORT बाइट्स की एक स्ट्रिंग देता है जिसका उपयोग सॉर्टिंग के लिए किया जाएगा, और LIKE केवल चार्टर स्ट्रिंग्स के साथ काम करता है)
अपडेट करें: एनएलएस पैरामीटर सेट करते समय मेरी पहली पसंद होगी, आप समान परिणाम प्राप्त करने के लिए अंतर्निहित कार्यों का भी उपयोग कर सकते हैं। कुछ उदाहरण:
SQL> SELECT Name
2 FROM CollationTestTable
3 WHERE upper(convert(NAME, 'US7ASCII'))
4 LIKE upper(convert('%pe%', 'US7ASCII'));
NAME
--------------------------------------------------------------------------------
pepe
pépé
PEPE
SQL> SELECT Name
2 FROM CollationTestTable
3 WHERE upper(translate(NAME, 'àâéèêìîòôùûÿ', 'aaeeeiioouuy'))
4 LIKE upper(translate('%pe%', 'àâéèêìîòôùûÿ', 'aaeeeiioouuy'));
NAME
-----------------------------------
pepe
pépé
PEPE