Как отсортировать значения по буквам, цифрам, символам в SQL? - PullRequest
0 голосов
/ 25 марта 2020

У меня есть столбец 'name' в таблице, который содержит, например: name: ab.xy ab2g ab , когда я заказываю таблицу по столбцу name, я получаю в результате: name: ab ab.xy ab2g но я хочу, чтобы результат был: name: ab ab2g ab.xy

как я могу это сделать?

1 Ответ

0 голосов
/ 25 марта 2020

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

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

...