oracle Number字段类型 对于小数位数的理解

时间:2025-04-23 22:00:01

比如 Number(5,2) 其实是表示 最大能存5位,其中2位是小数,另外3位是整数。

而不是 5位整数,2位小数!

测试:

DROP TABLE testTable;
CREATE TABLE testTable (col NUMBER(5,2));
INSERT INTO testTable values(2222.22);--插入会报错: ORA-01438: 值大于为此列指定的允许精度。因为插入了4位整数,超过了3位
INSERT INTO testTable values(222.222);--能够成功插入,oracle会自动对小数位进行四舍五入,最终插入的是222.22
SELECT * FROM testTable;