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? ![[:el g] [:el g]](https://forum-images.hardware.fr/images/perso/el g.gif)
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 ![[:dawao] [:dawao]](https://forum-images.hardware.fr/images/perso/dawao.gif)
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 ![[:sadnoir] [:sadnoir]](https://forum-images.hardware.fr/images/perso/sadnoir.gif)
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.![[:petrus75] [:petrus75]](https://forum-images.hardware.fr/images/perso/petrus75.gif)
Marsh Posté le 14-01-2009 à 22:43:00
| skeye a écrit :   | 
C'est toute la philosophie d'Oracle ![[:cosmoschtroumpf] [:cosmoschtroumpf]](https://forum-images.hardware.fr/images/perso/cosmoschtroumpf.gif) 
 
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 ![[:blessure] [:blessure]](https://forum-images.hardware.fr/images/perso/blessure.gif)
Marsh Posté le 15-01-2009 à 12:15:26
| zizou771 a écrit : 	order by REPLACE(col1,'*','zzz') | 
 ![[:sadnoir] [:sadnoir]](https://forum-images.hardware.fr/images/perso/sadnoir.gif)
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.