2017-10-12 48 views
0

我有一個與sub_id的sqlite表,這些存儲爲字符串。當我與此列的順序,我得到下令這樣我的數據:在swift中使用sqlite數據庫以字符串方式檢索數據時,以整數數字排序?

1,10,13,16,2,23,等

我怎樣才能命令他們數字?

我的代碼:

var id = Expression<Int>("id") 
let m_id = Expression<String>("m_id") 

let chapters = try self.database.prepare(self.chaptersTable.order(self.m_id)) 

for chapter in chapters { 
    print("chapter Id: \(chapter[self.m_id])") 
    idsChapters.append(chapter[self.id]) 
    mIdChapters.append(chapter[self.m_id]) 
} 

我不能使用變化可能數據庫格式,由於Android的兼容性。

回答

0

目前不能對此進行測試,但嘗試:

let chapters = try self.database.prepare(self.chaptersTable.order(CAST(self.m_id AS INTEGER))) 

收集從SO質疑Compare strings as numbers in SQLite3,評論@馬丁通過Ždila

相關問題