当前位置: 首页 > 知识库问答 >
问题:

DB2 JDBC驱动程序截断十进制

商辰钊
2023-03-14

DB2的JDBC驱动程序似乎正在截断数字/十进制字段的精度。我在SALES表中定义了以下字段:

十进制金额(16,16)

然后我执行以下插入语句:

插入到销售额(金额)值(14.12345678)

如果我使用DB2控制中心中的查询工具进行查询,我得到14.1234567800000000。

如果我使用Squirrel(一个使用DB2的JDBC驱动程序连接到数据库的DB客户机)执行此操作,我将得到14.12346。

这让我相信JDBC驱动程序正在截断结果的精度。有什么方法可以用选项配置JDBC驱动程序来防止这种情况?我已经看到了JDBC车手的JDBC选项,但似乎没有一个描述影响这一点。

共有1个答案

罗业
2023-03-14

如果记录被正确插入数据库,那么在提取时,它可能会被隐式格式化/截断。

我在使用Toad for Oracle检索记录时遇到了类似问题。然后我手动配置了首选项以使其正确显示,但是我不熟悉DB2

可以尝试在列定义中配置。< code>BigDecimal字段的< code>@Column(precision=16,scale=8)。

精度:十进制(精确数字)列的精度。(仅在使用十进制列时适用。)

刻度:十进制(精确数字)列的刻度。(仅在使用十进制列时适用。)

精度是位数的总数,小数点右边的位数是小数点的位数。尝试更改两者的值,目前似乎不合适。

 类似资料:
  • 问题内容: 我试图将十进制数字截断到小数位。像这样: 所做的只是正确的事情,但是却舍入了价值。我不需要四舍五入的价值。希望这是可能的JavaScript。 问题答案: 更新 : 因此,无论如何,四舍五入的bug总是会困扰着您,无论您如何努力补偿它们。因此,应该通过精确地用十进制表示法来解决该问题。 旧的易出错的解决方案基于其他人的编译:

  • 我只需要当前视口的屏幕截图,特别是滚动位置。基本上是当前Chrome驱动程序所做的。 据我所知,这似乎是完全可能的,但出于某种原因,屏幕截图命令总是努力拍摄完整的文档屏幕截图。事实上,IE驱动程序拍摄多个视口快照,然后将它们缝合在一起。 我使用的是Ruby webdriver,但我看不到任何东西,只能截取视口的屏幕。可能吗?

  • 我试着用java selenium web驱动程序中的TakeScreenshot来截屏。当我在页面中使用scrollTo(x, y)滚动特定数量时,TakeScreenshot方法会给我屏幕截图第一个视口,而不是滚动后到达的视口。 我想知道TakeScreenshot方法是给出OperaWebDriver中第一个视口的屏幕截图还是当前视口的屏幕截图。在chrome中,它拍摄了当前网络驱动程序的屏

  • 我写了一个简单的字符驱动程序,并要求在gpio引脚上的IRQ,并为它编写了一个处理程序。 err=request_irq(irq,irq_handler,IRQF_SHARED|IRQF_TRIGGER_RISING,INTERRUPT_DEVICE_NAME,raspi_gpio_devp); 静态irqreturn_tirq_handler(int irq, space*arg); 现在从理论

  • 从MATLAB R2017a Windows-7连接数据库的尝试失败。 错误消息:找不到JDBC驱动程序 JDBC驱动程序是: null null 尝试这些JDBC驱动程序的尝试都没有成功,因为在javaclass路径中单独测试了每个文件: C:\drivers\mysql-connector-java-6.0.6\mysql-connector-java-6.0.6-bin.jar C:\dri

  • 第3章 陷入,中断和驱动程序 运行进程时,cpu 一直处于一个大循环中:取指,更新 PC,执行,取指……。但有些情况下用户程序需要进入内核,而不是执行下一条用户指令。这些情况包括设备信号的发出、用户程序的非法操作(例如引用一个找不到页表项的虚拟地址)。处理这些情况面临三大挑战:1)内核必须使处理器能够从用户态转换到内核态(并且再转换回用户态)2)内核和设备必须协调好他们并行的活动。3)内核必须知道