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.
你也可以直接用to_char函数,例如
select to_char(money) from xxx_table.
参考:https://blog.csdn.net/YimBa/article/details/78367357
本文来源 爱码网,其版权均为 原网址 所有 与本站无关,文章内容系作者个人观点,不代表 本站 对观点赞同或支持。如需转载,请注明文章来源。
© 版权声明
文章版权归作者所有,未经允许请勿转载。