java - SQLite。数字排序

标签 java sql 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中我只使用字符串。

问题是当我尝试像这样排序时:

SELECT * FROM City ORDERY BY aver_salary DESC

12,00 值位于 111,00 之前。因此它比较字符串而不是值。

我是否正确,我应该将 Java 数据类型更改为 double 以正确对 sqlite 中的这些值进行排序?

最佳答案

排序(ORDER BY)是在 SQLite 中,而不是在 Java 中。所以它应该按数字排序。

如果您随后在 Java 中排序,它只会排序“错误”。之后。所以我想,是的,在 Java 中使用 Double 而不是 String 来表示这些值,因为它们是数字。但您也应该删除 Java 排序。

关于java - SQLite。数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7990674/

相关文章:

sql - SQL Select 中的序列

Android - 像 MySQL 一样的 SQLite 查询

编译时出现 android.database.sqlite.SQLiteException : near "20": syntax error (code 1): ,:从数据 = 19/04/2015 20:59 处的意外删除

java - Socket.connect(Areess,timeout) 和 FTPClient.setSoTimeOu 之间的区别

java - OpenOffice writer - 以编程方式使用单元格公式更新表格

java - 有什么方法可以使用 Java NIO/选择器获得读取超时吗?

sql - Oracle 查询显示错误 "not a GROUP BY expression"

php - 不能在 UPDATE 查询中使用子查询?

database - SQLite3 数据库的最大连接数是多少?

java - 如何从我的 war 中访问文本文件