Petit souci de tri SQL en Oracle 9i. Je souhaite afficher une liste triée de libellés français pouvant être alphanumériques et comporter des caractères accentués français et caractères spéciaux du clavier francais. Cette liste doit être triée par ordre alphabétique ascendant et je souhaite que le tri utilise les codes ASCII pour les caractères spéciaux et accentués. Voici donc ma requête:
SELECT inst.ID_INSTANCE, inst.SIGLE, inst.LIBELLE, admin.IPN_ADMIN, inst.FREQUENCE FROM TB0001_INSTANCE inst, TB0002_ADMIN_INSTANCE admin WHERE inst.ID_INSTANCE = admin.ID_INSTANCE AND inst.ID_INSTANCE IN (SELECT ID_INSTANCE FROM TB0001_INSTANCE) ORDER BY NLSSORT (UPPER(inst.SIGLE),'NLS_SORT=FRENCH')
Le tri es bien effectué, seulement, les caractères spéciaux sont ignorés quand il y a un caractère alphanumérique après (exemple: "(&é\@)" est placé entre "egal" et "famille" OU ENCORE "_acces" est placé entre "a" et "b" ).
Marsh Posté le 09-01-2007 à 11:07:41
Hello les gens,
Petit souci de tri SQL en Oracle 9i.
Je souhaite afficher une liste triée de libellés français pouvant être alphanumériques et comporter des caractères accentués français et caractères spéciaux du clavier francais. Cette liste doit être triée par ordre alphabétique ascendant et je souhaite que le tri utilise les codes ASCII pour les caractères spéciaux et accentués.
Voici donc ma requête:
SELECT inst.ID_INSTANCE, inst.SIGLE, inst.LIBELLE, admin.IPN_ADMIN, inst.FREQUENCE
FROM TB0001_INSTANCE inst, TB0002_ADMIN_INSTANCE admin
WHERE inst.ID_INSTANCE = admin.ID_INSTANCE
AND inst.ID_INSTANCE IN (SELECT ID_INSTANCE FROM TB0001_INSTANCE)
ORDER BY NLSSORT (UPPER(inst.SIGLE),'NLS_SORT=FRENCH')
Le tri es bien effectué, seulement, les caractères spéciaux sont ignorés quand il y a un caractère alphanumérique après (exemple: "(&é\@)" est placé entre "egal" et "famille" OU ENCORE "_acces" est placé entre "a" et "b" ).
Help!