簡體   English   中英

在內容提供商中排序順序

[英]Sort order in content provider

我創建了“書”表。

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', 'ေညး', 'တခါက',  '၁၀၀'); ",};

當我按'ASC'排序第一列“bcode”時,輸出就像這樣。

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

我希望得到這種形式的訂單。

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

我怎么排序?

之所以如此,是因為您將bcode聲明為TEXT ,請將其更改為INTEGER

作為文本,它按字符排序char,因此如果按升序排序,則以1開頭的任何內容始終顯示在以2開頭的內容之前

如果您堅持使用TEXT作為bcode類型,則可以使用的另一種方法是修復bcode的最大長度並使用前導零。 如果您決定使用4作為長度,那么您的bcodes應該看起來像0001,0002,0003 ... 0011,0012...1111 ...

您的bcode類型是TEXT只是將您的數據類型更改為INTEGER

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM