any solution is going to involve some sort of convert text to date , or a hard coded CASE statement int he order by.
can you fix the incoming data to return a datetime instead of the text version you are currently receiving?
this is a quick and dirty bandaid:
SELECT * FROM SOMETABLE
ORDER BY
CASE
WHEN monthfield LIKE 'jan%' THEN 1
WHEN monthfield LIKE 'feb%' THEN 2
WHEN monthfield LIKE 'mar%' THEN 3
WHEN monthfield LIKE 'apr%' THEN 4
WHEN monthfield LIKE 'may%' THEN 5
WHEN monthfield LIKE 'jun%' THEN 6
WHEN monthfield LIKE 'jul%' THEN 7
WHEN monthfield LIKE 'aug%' THEN 8
WHEN monthfield LIKE 'sep%' THEN 9
WHEN monthfield LIKE 'oct%' THEN 10
WHEN monthfield LIKE 'nov%' THEN 11
WHEN monthfield LIKE 'dec%' THEN 12
ELSE 13
END,monthfield
Lowell