2015-02-08 114 views
1

我創建了「book」表。內容提供商的排序順序

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

我該如何排序?

+1

'bcode'是一個整數值?如果你的答案是肯定的,那麼改變從'TEXT'到'INTEGER'的分貝類型,這將解決你的問題 – 2015-02-08 06:10:51

+0

沒有。我想用「bcode」作爲TEXT。 – 2015-02-08 06:16:36

+1

使用'bcode'作爲'TEXT'會將它排序爲文字,正如我在答案中所解釋的那樣,就像您的聯繫人在您的手機中排序一樣。 排序的文本是不同的數字排序 – dmSherazi 2015-02-08 06:20:57

回答

2

這是因爲您聲明bcodeTEXT,將其更改爲INTEGER

作爲文本是由字符排序字符,因此任何事情開始1將始終與2啓動一個之前顯示,如果你正在按升序排序

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

1

bcode類型是TEXT只是改變你的數據類型INTEGER