-
tri BDD varchar
bonjour
je souhaiterais trié ma base de donné par prix mais j'ai entré les prix dans un varchar pour avoir un espace entre les milliers et les centaines d'euros
ex: ( 35 000)
lorsque j'applique ma requête
Code:
SELECT * FROM description WHERE marque LIKE '$Marque' ORDER BY Prix ASC
cela marque plutôt bien sauf quand le prix dépasse 5 chiffres ex: 125 000
quelqu'un aurai t'il la solution ?
merci
-
Bonjour,
Code:
SELECT * FROM description WHERE marque LIKE '$Marque' ORDER BY REPLACE( prix, ' ', '' ) ASC
;)
-
j'ai testé en remplacent directement dans la base
il classe toujours dans l'ordre inverse
a savoir : 125 000
98 000.
il faudrait mettre un zeo devant le 98 000 mais je ne sais pas comment faire.
merci
-
Bonjour,
Pourquoi en base de données ne pas créer un 2eme champ avec le prix numérique ? Comme ça tu fais tes tris sur ce champ, et ton affichage à partir du champs varchar. Ca me parait être le plus simple...
S.
-
oui désolé, effectivement il faut transtyper :
Code:
SELECT * FROM description WHERE marque LIKE '$Marque' ORDER BY CAST(prix AS SIGNED INT) ASC
;)
-
Ah oui, là, c'est encore mieux !
Faudrait vraiment que je mette sérieusement à mysql !
S.