ORACLE数据类型之FLOAT

NUMBER(precision, scale)类型

    NUMBER类型是一种变长的数据类型,占0~22字节存储空间(1个字节存储数据长度,1个字节存储符号和指数,20个字节存储数据)。

    

    precision是NUMBER可存储的最大有效位数,scale是小数点右边的最大数字长度。

    precision范围:1-38,默认38。

    scale范围:-84~127。

    scale>0 精确到小数点右边s位,四舍五入。然后检验有效位是否<=p。

    scale<0 精确到小数点左边s位,四舍五入。然后检验有效位是否<=p + |s|。

    scale=0 表示整数。


    优点:较好的数据精确度、通用性强、可移植性强。

    缺点:运算效率相对浮点类型偏低。


FLOAT(binary precision)

    FLOAT类型是NUMBER类型的子类型,binary precision是二进制有效位数,scale不可自定义。

    其中,binary precision范围是1~126。转十进制需要(乘以 0.30103),即1~38。

    【示例】

    float(1)  

    转十进制有效位数:decimal precision = ( 1*0.30103 )=0.30103,永远取上整数,则decimal precision = 1。

    若数据为23.8,插入数据库变为20。

你可能感兴趣的:(数据库)