我创建了#34;书"表
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', 'ေညး', 'တခါက', '၁၀၀'
我该如何排序?
答案 0 :(得分:2)
之所以如此,是因为您将bcode
声明为TEXT
,请将其更改为INTEGER
作为文本,它按char排序,因此如果按升序排序,那么以1
开头的任何内容将始终显示在以2
开头的内容之前
如果您坚持使用TEXT
用于bcode类型,则可以使用的另一种方法是修复bcode
的最大长度并使用前导零。如果您确定4为长度,那么bcodes
应该看起来像0001,0002,0003 ... 0011,0012...1111 ...
答案 1 :(得分:1)
您的bcode
类型为TEXT
,只需将您的数据类型更改为INTEGER