У меня есть база данных со столбцом, содержащим следующие данные:
aaa-1
aaa-2
aaa-3
...
aaa-10
aaa-11
...
aaa-100
aaa-101
...
aaa-1000
Когда я запрашиваю и сортирую данные в порядке возрастания, я получаю:
aaa-1
aaa-10
aaa-11
...
aaa-100
aaa-101
...
aaa-1000
...
aaa-2
...
aaa-3
Действительно ли это правильный (машинный) способ сортировки? Не получается ли заказ из-за префикса aaa-
? Как мне отсортировать это так, как это сделал бы человек (то есть что-то похожее на первый фрагмент)?
P.S. Если проблема заключается в префиксе, есть ли способ удалить его и отсортировать, используя только числовой компонент?
P.P.S. Мне было предложено просто изменить свои данные и добавить ведущие нули, такие как aaa-0001
и aaa-0002
и т. Д. Однако я не хочу использовать этот метод, поскольку каждый раз, когда список увеличивается на порядок 10, мне придется переформатируйте этот столбец.
Спасибо всем заранее! :)