En realidad me referia a hacerlo desde la consulta, con funciones de mysql, para que te traiga el valor correcto
 http://dev.mysql.com/doc/refman/5.0/...ubstring-index 
Y castear es convertir un tipo de dato a otro, en este caso tambien en la consulta con una funcion de mysql 
cast 
ejemplo 
Código:
 tabla
--------------
| foo        |
-------------
| bar-1      |
| bar-2      |
| bar-10     |
-------------
select * from tabla order by cast(substring_index(foo,'-',-1) as decimal) desc;
los devuelve ordenados de mayor a menor "correctamente"
bar-10
bar-2
bar-1