Oracle使用标准、可变长度的内部格式来存储数字。这个内部格式精度可以高达38位。
NUMBER数据类型可以有两个限定符,如:
column NUMBER ( precision, scale)
表示数字中的有效位。如果没有指定precision的话,Oracle将使用38作为精度。
scale表示数字小数点右边的位数,scale默认设置为0. 如果把scale设成负数,Oracle将把该数字取舍到小数点左边的指定位数。
以上是资料
然后坑我的是我以为precision 是指小数点左边的位数,其实它指的是有效位(整数位位数+小数点后的位数)
比如123.0、XXX.X这些数字的有效位为4,在mysql中定义的时候要定义为double(4,1).