salah satu metodenya adalah dengan memodifikasi parameter sesi Anda NLS_SORT
dan 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
Seperti yang ditunjukkan pada SO lain, Anda tidak dapat menggunakan operator LIKE dengan NLSSORT
(ini karena, NLSSORT mengembalikan string byte yang akan digunakan untuk pengurutan, dan LIKE hanya berfungsi dengan string karakter)
Pembaruan: Meskipun pengaturan parameter NLS akan menjadi pilihan pertama saya, Anda juga dapat menggunakan fungsi bawaan untuk mencapai hasil yang sama. Beberapa contoh:
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