Sort By : le underscore réagit bizarrement
Bonjour,
Voici ma question du jour :D
Dans la table DBA_VIEWS d'Oracle, je veux faire un sort sur la colonne VIEW_NAME.
J'obtiens un résultat curieux avec les noms de vues précédés de l'underscore : c'est comme si Oracle n'en tenait pas compte!
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| select view_name from DBA_VIEWS where view_name like '%DBA_%' order by view_name;
DBA_ANALYZE_OBJECTS
DBA_APPLICATION_ROLES
_DBA_APPLY
DBA_APPLY
_DBA_APPLY_BATCH_SQL_STATS
_DBA_APPLY_CHANGE_HANDLERS
DBA_APPLY_CHANGE_HANDLERS
_DBA_APPLY_CONF_HDLR_COLUMNS
DBA_APPLY_CONFLICT_COLUMNS
_DBA_APPLY_CONSTRAINT_COLUMNS
_DBA_APPLY_COORDINATOR_STATS
_DBA_APPLY_DML_CONF_COLUMNS
DBA_APPLY_DML_CONF_COLUMNS |
J'ai regardé quel était le type de sort, il est BINAIRE.
Code:
1 2 3 4 5 6
| select * from nls_database_parameters where parameter='NLS_SORT';
PARAMETER VALUE
------------------------------ ----------------------------------------
NLS_SORT BINARY
1 row selected. |
Je regarde le code ascii pour _ et je tombe sur 95 et 68 pour D donc tous les noms avec _ devraient être ensembles, non?
Code:
1 2 3 4 5
| select ascii('D') , ascii ('_') from dual;
ASCII('D') ASCII('_')
---------- ----------
68 95
1 row selected. |
Bon, j'avoue que je bloque sur ce point..
Je ne peux pas modifier les paramètres de sort car cela aura des impact sur les tests donc si vous savez comment faire pour "bien" trier mes données, je suis preneur; en clair je veux que toutes les vues avec _ soient classées ensembles.