Isso deve funcionar: SELECT field,CONVERT(SUBSTRING_INDEX(field,'-',-1),UNSIGNED INTEGER) AS num FROM table ORDER BY num;