【问题标题】:Postgresql, Bad value for type BigDecimal : NaNPostgresql,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 替换为例如默认值

【问题讨论】:

    标签: postgresql jdbc


    【解决方案1】:

    我假设您正在使用 ResultSet.getBigDecimal() 来检索该值。

    BigDecimal 不能代表 NaN - 只有 java.lang.Double 可以这样做。

    您需要更改代码以使用 ResultSet.getDouble()ResultSet.getObject() - 后者将根据数据库中的值返回 BigDecimal 或 Double.NaN

    【讨论】:

      猜你喜欢
      • 2012-09-20
      • 2015-11-16
      • 2017-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-01
      相关资源
      最近更新 更多