bonjour,
10,5,3A,2C,2
et je voudrais avoir ceci :
2,2C,3A,5,10
pouvez-vous m'aider. J'ai essayé LPAD CAST mais je n'y arrive pas.
Merci
bonjour,
10,5,3A,2C,2
et je voudrais avoir ceci :
2,2C,3A,5,10
pouvez-vous m'aider. J'ai essayé LPAD CAST mais je n'y arrive pas.
Merci
Bonjour,
Un SGBD n'est pas forcément ce qu'il y a de mieux pour trier des occurrences dans une seule et même ligne.
(c'est même le bordel complet ..)
Voyez ça côté applicatif
Merci pour votre réponse.
Mais ce n'est pas en une seule ligne. Je représente autrement
10
5
3A
2C
2
et je voudrais avoir ceci :
2
2C
3A
5
10
Je ne retrouve pas le poste où on avait déjà traité ce problème, si vous avez le temps de chercher dans ce forum ....
l'idée est de passer par des expressions régulières afin de sortir la partie numérique de votre chaîne de caractère.
http://www.postgresql.org/docs/9.1/s...-matching.html
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 with tmp (a) as (select '10'::varchar union all select '5' union all select '3A' union all select '2C' union all select '2') select substring(a, '[0-9]*')::varchar::numeric, a from tmp order by substring(a, '[0-9]*')::varchar::numeric, a
Je viens de trouver une solution :
Merci encore
Code : Sélectionner tout - Visualiser dans une fenêtre à part ORDER BY c.acpadrzip,UPPER(c.acpadrcity),UPPER(c.acpaddress),CASE WHEN (TRIM(acpadrnum)>='00000' AND TRIM(acpadrnum)<='99999') THEN TO_NUMBER(acpadrnum,'99999') ELSE 0 END,TRIM(UPPER(acpadrnum)),TRIM(UPPER(acpadrbox));
Sinon, ce que vous cherchez à faire, c'est un tri "naturel" ou "natural sort".y dit qu'y voit pas l'rapport
Aucun SGBD à ma connaissance n'implémente ce système de tri.
Et ce n'est pas au SGBD de faire ce genre de tri, qui est purement esthétique.
Vous avez trouvé la solution en faisant un tri par d'autres informations que le libellé initial, et c'est effectivement la bonne solution.
On ne jouit bien que de ce qu’on partage.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager