Postgresql,BigDecimal 类型的错误值:NaN
Posted
技术标签:
【中文标题】Postgresql,BigDecimal 类型的错误值:NaN【英文标题】:Postgresql, Bad value for type BigDecimal : NaN 【发布时间】:2020-11-12 08:36:53 【问题描述】:在 Postgresql 表中,我们有类型为 numeric(10, 2) 的字段。当我尝试从此字段中选择数据时
select amount from vc_cashouts where id = 25721
我得到这个结果(其他记录正确):
org.postgresql.util.PSQLException: Bad value for type BigDecimal : NaN
我该如何纠正这个结果?我需要将此列中的数据导出到文件,并且我需要将此 NaN 替换为例如默认值
【问题讨论】:
【参考方案1】:我假设您正在使用 ResultSet.getBigDecimal()
来检索该值。
BigDecimal
不能代表 NaN
- 只有 java.lang.Double
可以这样做。
您需要更改代码以使用 ResultSet.getDouble()
或 ResultSet.getObject()
- 后者将根据数据库中的值返回 BigDecimal 或 Double.NaN
。
【讨论】:
以上是关于Postgresql,BigDecimal 类型的错误值:NaN的主要内容,如果未能解决你的问题,请参考以下文章