Сортировать числа (и цифры + буквы) с sqlite - PullRequest
4 голосов
/ 04 марта 2011

Я пытаюсь отсортировать поле VarChar с помощью Sqlite.

Поле может содержать цифры или цифры + буквы, но мне нужно отсортировать в числовом порядке, например:

1
1a
1b
5
5x
5y
10
10d
10e
10g1
11
11a
11b
100c
100f

Есть идеи?Я был в состоянии сделать это ... это близко (но не совсем), что мне нужно:

Заполните начало поля с "00000", а затем сортировать по первым пятибуквы

Ответы [ 2 ]

10 голосов
/ 04 марта 2011

Easy

select col from tbl order by col*1, col
1 голос
/ 04 марта 2011

Нет простого способа сделать это с помощью встроенных функций. Используйте sqlite3_create_collation (или эквивалентную оболочку на предпочитаемом вами языке программирования), чтобы определить функцию сравнения строк, которая реализует естественную сортировку .

...