2011-11-03 80 views
1

我有Sqlite數據庫;Sqlite。數字排序

-- Описать CITY 
CREATE TABLE City (id INTEGER PRIMARY KEY, region_id NUMERIC, name TEXT, population NUMERIC, aver_salary NUMERIC, unemployment NUMERIC, education NUMERIC, wealth NUMERIC) 

的aver_salary,失業,教育和財富的存儲值,如: 15,65或9,0或10,09。

我把所有的數據與Java。在Java中,我只使用字符串。

問題是,當我嘗試排序是這樣的:111.00之前

SELECT * FROM City ORDERY BY aver_salary DESC 

的12.00價值來。所以它比較字符串而不是值。

我是否正確我應該將Java數據類型更改爲double,以便在sqlite中正確排序這些值?

回答

0

那麼一切問題都解決了。

我所做的是: 1.在SQLite中將NUMERIC更改爲REAL 2.在Java中將字符串更改爲Double。

一切工作正常。

0

排序(ORDER BY)在SQLite中,而不是Java。所以它應該按數字排序。

如果您之後在Java 之後排序「錯誤」。所以我猜想,是的,在Java中使用Double not String來表示這些值,因爲它們是數字。但是你也應該刪除Java排序。

+0

我沒有用Java排序。我在Sqlite瀏覽器中瀏覽數據。 SQkit對字符串aver_salary進行排序不像double->這是問題。 –