Because its a string, not a number, and '0' comes before '3' in the collating sequence. If you want to sort numerically you'll need to convert the numeric substring to a number and sort on the result...something like to_number(substr([yourcolumn],2))