Option de tri pour ORDER BY [Oracle] - SQL/NoSQL - Programmation
Marsh Posté le 14-01-2009 à 16:04:24
version d'oracle? t'as essayé avec le nom de la colonne au lieu de son indice?
Marsh Posté le 14-01-2009 à 16:08:00
c'est la version 10g.
J'ai aussi essayé avec le nom de colonne => même pb!
Marsh Posté le 14-01-2009 à 17:23:05
et
Code :
|
ça donne quoi ?
Marsh Posté le 14-01-2009 à 17:39:39
Remplacer l'étoile par une barre oblique qui se trouve à la fin de l'aphabet:
SELECT decode(col1, '*', '|', col1) FROM ma_table ORDER BY 1 |
Marsh Posté le 14-01-2009 à 17:43:00
olivthill a écrit : Remplacer l'étoile par une barre oblique qui se trouve à la fin de l'aphabet:
|
...et tu fais ça pour tous les caractères spéciaux?
Marsh Posté le 14-01-2009 à 17:45:14
moi je dis que zizou il a oublié les quotes entourant le nom de la colonne ! le NLSSORT je l'ai utilisé un paquet de fois, et sans souci
Marsh Posté le 14-01-2009 à 17:49:49
Tu me lance un défi, skeye ?
Bon, s'il fallait le faire pour tous les caractères antérieurs au caractère "0", alors faire :
Spoiler : SELECT decode(greatest(col1, '/'), '/', '|', col1) FROM ma_table ORDER BY 1 |
(Trop facile le SQL d'Oracle !)
Marsh Posté le 14-01-2009 à 17:53:18
olvthillG
Marsh Posté le 14-01-2009 à 17:55:29
olivthill a écrit : Tu me lance un défi, skeye ?
(Trop facile le SQL d'Oracle !) |
figure 1 : enfoncer un clou avec un marteau-piqueur.
Marsh Posté le 14-01-2009 à 22:43:00
skeye a écrit : |
C'est toute la philosophie d'Oracle
Marsh Posté le 15-01-2009 à 11:48:46
en fait j'ai trouver (on plutot on m'as aidé):
order by REPLACE(col1,'*','zzz')
Et le message d'erreur apparait quand je fait des UNION ALL entre plusieurs requete, donc je suis obligé de tout regrouper en une seule requete.
Marsh Posté le 15-01-2009 à 12:14:33
mrbebert a écrit : C'est toute la philosophie d'Oracle |
ah là t'as pas tort
Marsh Posté le 15-01-2009 à 12:15:26
zizou771 a écrit : order by REPLACE(col1,'*','zzz') |
Marsh Posté le 15-01-2009 à 12:18:25
Reply
Marsh Posté le 14-01-2009 à 15:44:53
Bonjour,
lorsque je trie une liste avec des caractères spéciaux, ceux-ci sont placés en 1er.
ex:
Code :
*
A
B
Je souhaiterai que ce * apparaisse en dernier et j'ai vu qu'il existait l'option:
Code :
Mais lorsque je l'utilise j'ai le message d'erreur:
ORA-01785: ORDER BY item must be the number of a SELECT-list expression
Avez-vous une idée?
Merci d'avance.