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 04/10/2011 09:28:07

jhashe
Membre

Modifier le comportement de ORDER BY (locale ?)

Bonjour,

J'ai une requête SELECT du type
SELECT ma_valeur FROM ma_table ODRER BY ma_valeur
dans une table encodée en UTF8 avec comme "collation" et comme "type de caractère" fr_FR.UTF8

Parmi les résultats de cette requête, j'obtiens notamment (dans cet ordre):
...
Ajaccio
[Ajaccio]
Alagnon
...

Cet ordre est logique par rapport au comportement prévu. Néanmoins, dans mon cas particulier, j'aurais souhaité que les caractères autres que des lettres (les crochets dans l'exemple ci-dessus) soient pris en compte pour mon tri; en d'autres termes, j'aurais souhaité:

[Ajaccio]
...
Ajaccio
Alagnon
...

Est-ce possible ?
Et bien entendu, comment ?

Par avance, merci pour votre aide

Hors ligne

#2 04/10/2011 09:34:53

gleu
Administrateur

Re : Modifier le comportement de ORDER BY (locale ?)

La gestion du collationnement au niveau du ORDER BY n'est possible qu'à partir de la 9.1. De plus, il faudrait trouver le collationnement système qui permet de faire le tri que vous demandez. Et j'avoue que je n'en connais pas qui font ça.


Guillaume.

Hors ligne

#3 04/10/2011 09:43:05

jhashe
Membre

Re : Modifier le comportement de ORDER BY (locale ?)

Aïe ! Pas cool ça !
A vrai dire, avant de migrer mon serveur en version 9, ma BDD était "encodée" (si on peut dire !) en SQL_ASCII, ce qui me posait d'autres soucis dans la mesure ou les tris étaient sensibles aux accents. Par contre, tous les caractères étaient bien pris en compte.

Bon, tant pis, je vais contourner le problème au niveau applicatif.

En tous cas, merci pour votre réponse.

Hors ligne

Pied de page des forums