您的位置:首页 > 数据库 > Oracle

ORACLE数据类型之FLOAT

2017-02-15 10:43 309 查看
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。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息