Вероятно, нет простого способа сделать то, что вы хотите. sql сортирует (просто сказал) ascii-значение. И "." имеет более низкое значение Ascii, чем все буквы. Также имейте в виду, что все заглавные буквы сортируются перед строчными.
Если вам нужно выполнить сортировку, как это, я бы посоветовал создать избыточный столбец с нормированными значениями (т.е. все строчные буквы, некоторые символы удалены ), который помогает с вашей сортировкой. Таким образом, вы можете проиндексировать этот вспомогательный столбец и не потерять большую производительность при больших запросах.