2010-11-07 10 views
2

J'ai besoin de commander un résultat de requêtes par le nom qui est un varchar (50) de la table de paquets. Le tableau contient les valeurs suivantes pour le nom:Comment puis-je commander par mysql lorsque les valeurs sont alphanumériques?

# 'Package 1', 'Package 2', 'Package 3', 'Package 10' etc. 
SELECT name FROM bundles ORDER BY name ASC; 

Cette requête renvoie l'ordre suivant:

Package 1 
Package 10 
Package 11 
Package 2 
Package 3 
etc... 

est-il de toute façon avec MySQL pour le rendre commander naturellement:

Package 1 
Package 2 
Package 3 
... 
Package 10 

ou Est-ce quelque chose que je devrai coder manuellement avec les résultats.

J'ai essayé:

ORDER BY ABS(name) 
and 
ORDER BY (name+0) 

sur les suggestions trouvées sur le web, ni travail.

Répondre

2
+0

Merci, Ok, donc ordre naturel pas disponible, mais de la 1ère réponse à cette question, en utilisant la coulée et fonctionne réellement pour substring moi parce que les valeurs sont toujours la même longueur ... si CAST (mid (nom, 9, 2) AS non signé) fonctionne parfaitement !!! merci de m'avoir indiqué cela. – Rob