ORDER BY suivant la valeur numérique et pas alphanumérique

Eléphanteau du PHP | 17 Messages

08 sept. 2005, 15:43

Bonjour, j'ai dans une de mes tables un champ contenant des valeurs numériques (mais de type char(2)).

Lors de la requête je fais un ORDER BY suivant ce champ et le tri ne se fait pas suivant la valeur numérique. J'obtiens :
1
10
2
3
...

...alors que je voudrais :
1
2
3
10
...

Comment obtenir cela ? Merci.

Administrateur PHPfrance
Administrateur PHPfrance | 11457 Messages

08 sept. 2005, 15:50

Ce tri se fera immédiatement dans l'ordre que tu souhaites
si tu changes le type de données dans la description de ta table.

Si tu peux changer ton char(2) en int, ce sera résolu. ;)

Si tu ne peux pas... mais pourquoi tu ne pourrais pas, au fait ? :?:

Eléphanteau du PHP | 17 Messages

08 sept. 2005, 15:56

Ah ah ah ! Mais oui je suis trop bête !

Merci.

chava2b
Invité n'ayant pas de compte PHPfrance

09 sept. 2005, 14:27

Y avait aussi la possibilité suivante :

order by ton_champs *1

Eléphanteau du PHP | 16 Messages

03 janv. 2015, 21:02

merci pour cette dernière solution =D>

la première a formaté ma colonne de certains de mes numéros de série comprenant des caractères spéciaux
heureusement que j'avais sauvegardé ma BDD #-o

Oh le beau déterrage :mrgreen: