首页 > Oracle > oracle 11.2.0.4 一个还未解决的number数据类型BUG
2016
04-28

oracle 11.2.0.4 一个还未解决的number数据类型BUG

说时迟那时快,oracle也经过很多过年头了,俗话说世界上没有 没有bug的产品,oracle虽然沉淀了这么多年,依然每个版本或多或少都有bug。

此个bug出现是oracle 11.2.0.4,当然其他版本我没有测试,可能也有这个问题。

BUG:oracle的数据类型number,当字段定义为number(18,4),当然也可以定义为其他长度,只要满足整数类型必须大于12位,且有小数位数,就会触发这个bug。比如定义为number(18,4),当insert数据的时候,插入数据为99999999999999.1的时候,插入的数据并不是这个数据,而是99999999999999.0938。当插入的数据为9999999999999.1的时候,也就是整数位数为13位,实际在数据库中的数据是:9999999999999.0996。当插如的数据整数位数小于或等于12位的时候,数据是正常的。

测试数据库字符集是AL32UTF-8,所以测试有问题。朋友另一台数据库用的字符集是GBK,没有出现这样的问题。初步判断是字符集原因导致的

实际测试结果:

 

最后编辑:
作者:Jerry
一个积极向上的小青年,热衷于分享--Focus on DB,BI,ETL