【发布时间】:2010-11-22 18:51:21
【问题描述】:
我使用 SQLiteJDBC 将 Sqlite 与 Java 一起使用。在查询 sqlite 时,我发现这两个返回不同的东西:
String str = result.getDouble("field_name").toString();
String str = result.getString("field_name");
后者隐式将 sqlite 中 REAL 数的数字四舍五入,并将其转换为 String。前者不做总结的事情。 这是sqlite JDBC实现的bug还是SQL查询中的常识?
【问题讨论】:
-
顺便说一句,
REAL number是什么意思?在最终转换为字符串之前是否已转换为整数? -
sqlite 的数据类型不是类型安全的,不符合 sql 标准。这是故意的,因为这是一个 lite 数据库。
-
@Adeel Ansari:REAL 是 SQLite 的一种数据类型,没有 DOUBLE 或 FLOAT。