2015-02-08 8 views
1

Я создал таблицу «книг».Порядок сортировки в поставщике контента

db.execSQL("CREATE TABLE IF NOT EXISTS `book` (`bcode` TEXT, `author_name` TEXT, `book_name` TEXT, `price` TEXT); "); 

Затем я поместил свои данные следующим образом.

" insert into book values ('1', 'ေညး', 'တခါက', '၁၀၀'); ", 
    " insert into book values ('2', 'မင္းတေခတ္', 'သူသာ', '၁၅၀'); ", 
    " insert into book values ('3', 'မင္းတေခတ္', 'သူသာ', '၁၀၀'); ", 
    " insert into book values ('4', 'ေညး', 'တခါက', '၁၀၀'); ", 
    " insert into book values ('5', 'ေညး', 'တခါက', '၁၀၀'); ", 
    " insert into book values ('6', 'လြန္းထားထား', 'တခါက', '၁၀၀'); ", 
    " insert into book values ('7', 'အၾကည္ေတာ္', 'သံုည', '၁၀၀'); ", 
    " insert into book values ('9', 'ေညး', 'တခါက', '၁၀၀'); ", 
    " insert into book values ('10', 'ေညး', 'တခါက', '၁၀၀'); ", 
    " insert into book values ('11', 'ေညး', 'တခါက', '၁၀၀'); ",}; 

Когда я сортирую первый столбец «bcode» на «ASC», вывод выглядит следующим образом.

'1', 'ေညး', 'တခါက', '၁၀၀' 
'11', 'ေညး', 'တခါက', '၁၀၀' 
'2', 'မင္းတေခတ္', 'သူသာ', '၁၅၀' 
. 
. 

Я хочу получить заказ, как в этой форме.

'1', 'ေညး', 'တခါက', '၁၀၀' 
'2', 'မင္းတေခတ္', 'သူသာ', '၁၅၀' 
. 
. 
. 
'11', 'ေညး', 'တခါက', '၁၀၀' 

Как я могу сортировать?

+1

'bcode' целое значение? если ваш ответ «да», измените его тип «от TEXT» до «INTEGER» в db, это решит вашу проблему. –

+0

no. Я хочу использовать «bcode» как ТЕКСТ. –

+1

, используя 'bcode' как' TEXT', отсортирует его как текст и, как я объяснил в своем ответе, будет сортироваться так же, как ваши контакты будут отсортированы в вашем телефоне. Сортировка текста отличается от сортировки цифр – dmSherazi

ответ

2

Это так, потому что вы объявляете bcode, как TEXT, изменить его INTEGER

Быть Текст сортируется полукокса по полукокса и, следовательно, что-то, начиная с 1 всегда будет отображаться до одного, который начинается с 2 если вы сортируются по возрастанию

Другой подход, который вы можете использовать, если настаиваете на использовании TEXT для типа bcode, заключается в том, что вы фиксируете максимальную длину bcode и используете начальные нули. Если вы решили 4 в длину, чтобы ваш bcodes должен выглядеть 0001,0002,0003 ... 0011,0012...1111 ...

1

ваш bcode тип TEXT просто изменить тип данных INTEGER

Смежные вопросы