Page 1 sur 1

Pb lors du tri de chiffres

Posté : 22 oct. 2007, 17:53
par nicolas01
Bonjour je stocke dans ma base des articles et pour cela je les fais apparaitre en ordre decroissant en fonction de leur numero (des chiffres entiers) et je voudrais les afficher dans un ordre jusque la pas de pb, mais le tri se fait mal en effet il me donne en tri
9
8
7
6
5
4
3
2
11
10
1
0

au lieu de
11
10
9
8
7
6
5
4
3
2
1
0

idem pour les centaines

Jai comme select :
SELECT * FROM resumes order by numero DESC 
Et dans ma base cest stocké ainsi : numero (le nom de mon champ) varchar(3) latin1_swedish_ci

Jai cherché sur google et cie mais rien , merci davance pour votre aide

Posté : 22 oct. 2007, 19:14
par Hubert Roksor
VARCHAR est destiné à accueillir du texte, si tu veux stocker des nombres il te faut utiliser une colonne de type TINYINT UNSIGNED (0 à 255) ou SMALLINT UNSIGNED (0 à 65535).

Voir http://dev.mysql.com/doc/refman/5.0/fr/ ... types.html

Re: Pb lors du tri de chiffres

Posté : 22 oct. 2007, 19:14
par Tracker
Salut,

C'est pas forcement un bonne idée de stocker des chiffres en texte, pour les manipuler ensuite comme des chiffres, mais bon tu dois avoir tes raisons :wink:

Pour ton problème essaie ça:
SELECT * FROM resumes order by (0+numero) DESC 

Tracker.

Posté : 23 oct. 2007, 03:34
par nicolas01
Un grand merci cest parfait jai essayé avec TINYT et ca marche, :D je ne connaissais pas celui ci

Posté : 23 oct. 2007, 06:31
par Cyrano
À connaître : lorsque tu stockes des nombres en format texte, il reste possible de passer par un transtypage avec CAST pour effectuer des calculs. Ce n'est bien entendu pas optimal, mais ça peut servir si on a pas la main sur la structure d'une base de données pour en adapter ponctuellement certains éléments.

Posté : 23 oct. 2007, 10:31
par iclo
Un grand merci cest parfait jai essayé avec TINYT et ca marche, :D je ne connaissais pas celui ci
Ne pas oublier, de prévoir un type de champ qui peut stocker des valeurs suffisaments grandes;
Sinon, l'auto-incrément risque de dépasser la valeur du plus grand nombre stockable, et de donner un bug soudain.

Posté : 23 oct. 2007, 10:36
par Sékiltoyai