Oracle字段NUMBER(8,2)匹配异常问题

今天改功能调用测试环境sql发现报错如下

Oracle字段NUMBER(8,2)匹配异常问题

 CTRL+H全局搜一下这个报错

找到项目封装的框架中去

Oracle字段NUMBER(8,2)匹配异常问题

 

排查到是MILES字段无法匹配

Oracle字段NUMBER(8,2)匹配异常问题

 

去数据库查看这个字段NUMBER(8,2),

Oracle字段NUMBER(8,2)匹配异常问题

 

最多有8位有效数字,两位小数。

1.number(4,3)是表示du 这个数 一共有4位是有效位,后面的3 表示有3个是小数,也就是这个数 只能是1.234,这样格式的 最大只能是9.999,

2.number(3,4) 表示这个数 有效位数是3位 但是有四位小数 也就是只能是这个格式0.0123

最大只能是0.0999;

3.number(3,-3) 就是这个数有效位数一共3位,如果是正3 则是3位小数 如果是负数的话就是3 位整数 也就是123这个格式 最大只能是999.

4.还有这样的 number(2,-3) 就是这个数的有效位数是2位 但是有三位整数 所以只能是230 这样的 最大是990;

 

最后,换个折中方案,

把select * from TT_VS_SALES_REPORT

改成select INVOICE_CUSTOMER from TT_VS_SALES_REPORT

Oracle字段NUMBER(8,2)匹配异常问题

 

又水了一篇文章,先记录一下。