PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 08/06/2020 15:10:20

Geo-x
Membre

ORDER BY - Problème d'ordre

Bonjour @ tous.

Je cherche à ordonner les éléments suivants, à la façon d'un dictionnaire :

mini_200608031626535287.png

C'est à dire que dans ce cas j'aurais :

"dé"
"dé a"
"dé m"
"dé z"
"dép"
"dép a"
"dép m"
"dép z"
"départ"
"dépbrt"
"dépzrt"

Postgres me ressort l'ORDER BY de cette façon :

mini_20060803141922797.png

Comment puis-je faire ?

Merci

Hors ligne

#2 08/06/2020 15:43:59

ruizsebastien
Membre

Re : ORDER BY - Problème d'ordre

bonjour,

Il faut jongler avec les collations pour trouver laquelle correspond à ce que vous voulez obtenir.
Effectivement on ne trie pas de la même manière en français, en allemand ou en anglais par exemple.
Vous pouvez lire ceci :
https://docs.postgresql.fr/11/collation.html


Cordialement,

Sébastien.

Hors ligne

#3 08/06/2020 20:29:23

pifor
Membre

Re : ORDER BY - Problème d'ordre

Avec la collation fr-x-icu dans PostgreSQL 12, j'ai:

select x from t order by x collate "fr-x-icu";
   x    
--------
 dé
 dé a
 dé m
 dé z
 dép
 dép a
 dép m
 dép z
 départ
 dépbrt
 dépzrt
(11 rows)

Résultats identiques dans les versions 10 et 11.


A priori pas possible en version 9.5 ou 9.6.

Dernière modification par pifor (08/06/2020 20:40:40)


Pierre

Hors ligne

Pied de page des forums