如题环境描述
操作系统为Linux,  WEB项目
1.Java从1.5 升级到1.7
2.TomCat从1.5升级到1.7
3.Oracle从10g升级到11g (个人觉得这个是关键)问题描述
Oracle 有个表 叫TBL, TBL中有个字段叫COL, 定义为NUMBER(38,15)。版本升级前 
    通过Java运算得出的数字比如0.123456789012345 存入该字段 是没有任何问题的。读取也没有任何问题。
版本升级后
   0.123456789012345可以存入该字段。
   打开数据库 不做变换 直接SELECT ,用眼睛看的话 仍然是数字。
   但是读取时,  无论用TO_CHAR(COL) 来读 还是用TO_NUMBER(COL)来读 
   都会报错  Oracle-ORA-01722 invalid number
   而且,还有一个怪现象,就是 用Oracle SQL Developer 和SQL Plus 来分别Select的话 前者能看到数字  后者看到的是空白
   还有,用该字段的数字 做加减乘除运算得出的结果 都是不符合正常逻辑的。比如加1的话 会变成1.123456789012045等个人感觉数字存入数据库时就已经坏掉了,该字段的有些值没有问题,有些值有问题,找不到规律 这个最让人头疼。
求遇到过类似问题的人分享经验。