LOADING STUFF...

Oracle插入number类型数字超过16位,在pl/sql显示中自动四舍五入

文章目录

  • 1. 现象描述
  • 2. 原因
  • 3. 解决方法

1. 现象描述

今天遇到一个比较坑的问题,排查好长时间,所以必须记录下来。
Oracle数据库某个字段类型为number(16,10),插入值999999.9999999999,在pl/sql显示为1000000.000000000,也就是自动四舍五入。怀疑精度不够,为此将字段改为number(20,12), 结果还是一样,但是在前端却又是999999.9999999999。百思不得其解。

2. 原因

pl/sql对于超过16位的数字的查询结构自动四舍五入,但是数据库还是保持原来的值,也就是说保存的值没有变。

3. 解决方法

PL/SQL中工具->首选项中,sql窗口->勾选数字字段to_char.
Oracle插入number类型数字超过16位,在pl/sql显示中自动四舍五入
你也可以直接用to_char函数,例如
select to_char(money) from xxx_table.

参考:https://blog.csdn.net/YimBa/article/details/78367357

本文来源 爱码网,其版权均为 原网址 所有 与本站无关,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源。

© 版权声明

相关文章