Bonjour,
Voici ma question du jour
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!
J'ai regardé quel était le type de sort, il est BINAIRE.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 select * from nls_database_parameters where parameter='NLS_SORT'; PARAMETER VALUE ------------------------------ ---------------------------------------- NLS_SORT BINARY 1 row selected.
Bon, j'avoue que je bloque sur ce point..
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 select ascii('D') , ascii ('_') from dual; ASCII('D') ASCII('_') ---------- ---------- 68 95 1 row selected.
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.
Partager