[英]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.