java - HSQLDB 语句和 Java NaN double

标签 java prepared-statement hsqldb

我目前正在使用 HSQLDB 来保存 java 数据。在这些数据中,有一些 Double,其中一些可以是 NaN 的值(在 javadoc 中描述为 0.0/0.0)。 HSQLDB 知道如何在 PreparedStatementsetDoublesetFloat 中处理这些值。问题是,我必须使用一个 Statement 对象,而不是一个预编译的存储过程,我就是找不到让它工作的方法。
如果您有最微小的提示,我们将不胜感激 :)
谢谢。

编辑:这是我正在使用的一堆代码:

stmt.executeUpdate("insert into Mesh(Id, name, dimension, meshtype, totalVolume, NumberOfCoarseCell) values (identity(), "  
                             + "'" + name_ + "',"  
                             + dimension_ + "," // this value can be NaN  
                             + "'" + type_.toString() + "',"   
                             + totalVolume_ + "," // this value can be NaN  
                             + numberOfCoarseCells_ + ")");  

最佳答案

您的意思是您需要一种在 SQL 语句中写入 NaN 的方法?以下作品适用于 H2 database :

select sqrt(-1) from dual

但是,它不适用于 Apache Derby 和 PostgreSQL(我没有测试其他数据库)。对于 HSQLDB,它不再适用于 2.1 版和更新版本,除非您设置 SET DATABASE SQL DOUBLE NAN FALSE

关于java - HSQLDB 语句和 Java NaN double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5140371/

相关文章:

java - Jersey 2 分段上传客户端

java - mysql 准备语句 : sql query

java - 在准备好的语句中使用 "like"通配符

java - 用测试数据填充内存数据库的模式

java - 使用直接调用查询更新表出错

java - 如何检查 Java EE 应用程序中的数据库连接泄漏?

java - Recycler View Adapter 中无法识别 Android EXTRA_MESSAGE

java - Java 中转义双引号 Oracle 准备好的语句

hsqldb - 截断 HSQLDB 中的所有表

java - 如果我派生的 java 对象大小发生变化,我是否需要重建?