DB2 的 JDBC 驱动程序似乎截断了 Numeric/Decimal 字段的精度。我在 SALES 表中定义了以下字段:
十进制数 (16,16)
然后我执行以下插入语句:
插入销售(金额)值(14.12345678)
如果我使用 DB2 Control Center 中的查询工具进行查询,我会得到 14.1234567800000000。
如果我使用 Squirrel(一个使用 DB2 的 JDBC 驱动程序连接到数据库的 DB 客户端,我得到 14.12346。当我使用 Hibernate 从 Java 代码执行相同操作时也会发生同样的情况。
这让我相信 JDBC 驱动程序正在截断结果的精度。有没有办法用选项来配置 JDBC 驱动程序来防止这种情况发生?我已经看到了 JDBC 驱动程序的 JDBC 选项,但似乎没有一个描述影响这一点的选项。