Approach 1: Select <i>list of desired fields</i>, ; SUBSTR(month,4,2) + SUBSTR(month,1,2) AS SortFld ; FROM ... ORDER BY SortFld Approach 2: SELECT <i>the remainder of your SQL Select statement</i> INDEX ON SUBSTR(month,4,2) + SUBSTR(month,1,2) TAG Temp GO TOP && reposition the record pointer to make the index take effectA friendly warning here - you're exposing yourself to potential Y2K issues in the application, and it's showing here in just this tiny fragment of the application! If the date information is stored as character expressions, you've already created a long-term problem - the data in the database is going to be bit on the butt by Y2K, and you've got less than 6 months before the problem strikes (in fact, if you project dates into the future, it's probably already too late.) I'd recommend a little reworking of how the data is stored now, rather than trying to fix things after your app starts spurting blood and guts in January!