使用SQLite3時,我試圖通過將一個TEXT字符串轉換爲INTEGER來排序我的結果。這是我的查詢:將多個小數轉換爲整數的SQL轉換字符串
SELECT id,section FROM contract_sections ORDER BY CAST (section AS int)
的「部分」列是文本,並且由分級/規範標識符,即1.2.1,其中每個十進制反映在層次結構中的深度另一個層次。我希望按順序返回結果(即1.2.8,1.2.9,1.2.10等)。如果我只是被「部分」列不進行強制轉換命令,我得到的結果,看起來像:
1.1, 1.10, 1.2, ...
但與投上述查詢,這似乎是現在的正確排序,如:
1.1, 1.2, ... 1.9, 1.10
我的問題是,如果我投這個字符串爲int,價值是什麼SQLite將其轉換爲,它將如何訂購?它似乎是按照我現在想要的順序排列,但是想要避免任何未知的錯誤。
謝謝,很好的答覆和感謝指向我相關的文檔。 – bristophocles 2012-08-16 20:01:20