如何在Java中从PostgreSQL获取空(数值)值的Double.NaN
我需要知道PostgreSQL的Java结果集中的值(如何在Java中从PostgreSQL获取空(数值)值的Double.NaN,java,postgresql,apache-commons-dbutils,Java,Postgresql,Apache Commons Dbutils,我需要知道PostgreSQL的Java结果集中的值(numeric)是否为NULL,如果是,我需要得到Double.NaN,而不是0。我使用ApacheCommonsDbutils映射,但它将NULL值映射为0 有没有办法在不需要创建自己的BasicroProcessor的情况下获取Double.NaN?我强烈怀疑您必须重写或替换底层代码。PgJDBC为null返回Double.NaN是完全不正确的,因为NaN是浮点列的合法非空值。你为什么不干脆把NaN存储在数据库中呢?是不是因为(出于某种疯
numeric
)是否为NULL
,如果是,我需要得到Double.NaN
,而不是0。我使用ApacheCommonsDbutils映射,但它将NULL值映射为0
有没有办法在不需要创建自己的
BasicroProcessor
的情况下获取Double.NaN?我强烈怀疑您必须重写或替换底层代码。PgJDBC为null
返回Double.NaN
是完全不正确的,因为NaN
是浮点列的合法非空值。你为什么不干脆把NaN
存储在数据库中呢?是不是因为(出于某种疯狂的原因,wtf是您考虑的原因)Java的BigDecimal无法处理NaN
?您是对的,它不必是Double.NaN
,但我需要知道,数据库表中的原始值是NULL
还是0
。我从DBUtils使用的映射使0
从NULL
(缺少值)产生代码中的问题。请检查以下内容: