我有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中,我只处理字符串。
问题是当我尝试这样排序时:
SELECT * FROM City ORDERY BY aver_salary DESC12,00值在111,00之前。所以它比较字符串而不是值。
为了在sqlite中正确地对这些值进行排序,我应该将Java数据类型更改为double,这对吗?
发布于 2011-11-04 00:41:53
总而言之,问题已经解决了。
我所做的是: 1.在Java2中将数字改为实数。在SQLite中将字符串改为双精度。
一切都很好。
发布于 2011-11-03 13:38:32
排序(ORDER BY)使用的是SQLite,而不是Java。所以它应该按数字排序。
如果你之后在Java中排序,它只会排序为“错误”。所以我猜,是的,对Java中的这些值使用双非字符串,因为它们是数字。但是您也应该删除Java排序。
https://stackoverflow.com/questions/7990674
复制相似问题