Хорошо, я должен прекратить задавать вопрос и найти ответ сразу после !!
Для сообщества вот что я сделаю:
select *
from myTable
order by abs(ascii(substring(zip_code,1,1)) - ascii(substring('AAAAA',1,1))) asc,
abs(ascii(substring(zip_code,2,1)) - ascii(substring('AAAAA',2,1))) asc,
abs(ascii(substring(zip_code,3,1)) - ascii(substring('AAAAA',3,1))) asc,
abs(ascii(substring(zip_code,4,1)) - ascii(substring('AAAAA',4,1))) asc,
abs(ascii(substring(zip_code,5,1)) - ascii(substring('AAAAA',5,1))) asc