2010-11-07 57 views
2

我需要通过捆绑表中名称是varchar(50)的名称来排序查询结果。 表包含名称中包含以下值:当我的值是字母数字时,如何在mysql中进行排序?

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

此查询将返回按以下顺序:

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

反正是有使用MySQL,使其自然下令:

Package 1 
Package 2 
Package 3 
... 
Package 10 

或这是我必须手动编写结果的东西。

我曾尝试:

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

上建议在网上找到了,也不变通。

回答

2
+0

谢谢你,好了,自然排序不可用,但是从1日回答这个问题,采用铸造和子实际上对我的作品,因为值总是相同的长度...所以CAST(中间(名称,9,2)AS无符号)完美的作品!感谢您指点我。 – Rob 2010-11-07 14:56:42

相关问题