une méthode serait de modifier vos paramètres de session NLS_SORT
et 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
Comme indiqué dans un autre SO, vous ne pouvez pas utiliser l'opérateur LIKE avec NLSSORT
(en effet, NLSSORT renvoie une chaîne d'octets qui sera utilisée pour le tri, et LIKE ne fonctionne qu'avec des chaînes de caractères)
Mise à jour : Bien que la définition des paramètres NLS soit mon premier choix, vous pouvez également utiliser des fonctions intégrées pour obtenir le même résultat. Quelques exemples :
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