Points Importants (voir les détails dans ce qui suit) :
-
Si on veut que le tri/comparaison soit binaire (sensible aux accents et à la casse), alors on est mieux :
-
de définir la valeur du paramètre de la session NLS_SORT à BINARY ;
-
de définir la valeur du paramètre de la session NLS_COMP à BINARY ;
-
et d'utiliser un indexe régulier (sans fonction).
-
Si on veut effectuer un tri/comparaison linguistique sensible aux accents et à la casse, alors on est mieux :
-
de définir la valeur du paramètre de la session NLS_SORT à une valeur linguistique (FRENCH par exemple) ;
-
de définir la valeur du paramètre de la session NLS_COMP à LINGUISTIC ;
-
et d'utiliser un indexe avec la fonction NLSSORT qui initialise NLS_SORT à la même valeur que celle définie pour le paramètre NLS_SORT de la session.
-
Si on veut que le tri/comparaison soit insensible aux accents et/ou à la casse, alors on est mieux :
-
de définir la valeur du paramètre de la session NLS_SORT à BINARY_AI/BINARY_CI (ou une valeur linguistique avec l'extension _AI/_CI, FRENCH_AI/FRENCH_CI par exemple) ;
-
de définir la valeur du paramètre de la session NLS_COMP à LINGUISTIC ;
-
et d'utiliser un indexe avec la fonction NLSSORT qui initialise NLS_SORT à la même valeur que celle définie pour le paramètre NLS_SORT de la session.
This table (and its data) is used in the examples bellow: