2010-04-15 4 views
0

J'ai le champ receiptno, qui est un varchar contenant une valeur numérique, et que vous voulez trier. Le tri comme une chaîne me donne le mauvais ordre. Je voudrais essayer de le trier en entier. Y at-il de toute façon à convertir en entier dans la clause order by afin que je puisse trier par entier dans la requête elle-même.Comment trier une colonne varchar en utilisant l'ordre numérique

Répondre

5

Vous pouvez utiliser cast ou convert pour convertir le type de champ:

... ORDER BY CAST(receiptno AS INTEGER) ASC

Modifier Désolé, syntaxe fixe

+0

Merci pour votre répondre, En mysql cast fonction entière ont un problème, donc j'ai utilisé signé. travaille maintenant. COMMANDE PAR CAST (receiptno AS AS SIGNED) ASC - fonctionne correctement – Karthik

+0

... et ruine toute utilisation d'index. excellent –

+0

Oh ok sympa. Merci col – Karthik

1

, changez le type de cette colonne

Questions connexes