• NUMBER类型细讲 (转)


    1>.NUMBER类型细讲:
    Oracle number datatype 语法:NUMBER[(precision [, scale])]
    简称:precision --> p
    scale --> s

    NUMBER(p, s)
    范围: 1 <= p <=38, -84 <= s <= 127
    保存数据范围:-1.0e-130 <= number value < 1.0e+126
    保存在机器内部的范围: 1 ~ 22 bytes

    有效为:从左边第一个不为0的数算起的位数。
    s的情况:
    s > 0
    精确到小数点右边s位,并四舍五入。然后检验有效位是否 <= p。
    s < 0
    精确到小数点左边s位,并四舍五入。然后检验有效位是否 <= p + |s|。
    s = 0
    此时NUMBER表示整数。

    eg:
    Actual Data Specified As Stored As
    ----------------------------------------
    123.89 NUMBER 123.89
    123.89 NUMBER(3) 124
    123.89 NUMBER(6,2) 123.89
    123.89 NUMBER(6,1) 123.9
    123.89 NUMBER(4,2) exceeds precision (有效位为5, 5 > 4)
    123.89 NUMBER(6,-2) 100
    .01234 NUMBER(4,5) .01234 (有效位为4)
    .00012 NUMBER(4,5) .00012
    .000127 NUMBER(4,5) .00013
    .0000012 NUMBER(2,7) .0000012
    .00000123 NUMBER(2,7) .0000012
    1.2e-4 NUMBER(2,5) 0.00012
    1.2e-5 NUMBER(2,5) 0.00001
    123.2564 NUMBER 123.2564
    1234.9876 NUMBER(6,2) 1234.99
    12345.12345 NUMBER(6,2) Error (有效位为5+2 > 6)
    1234.9876 NUMBER(6) 1235 (s没有表示s=0)
    12345.345 NUMBER(5,-2) 12300
    1234567 NUMBER(5,-2) 1234600
    12345678 NUMBER(5,-2) Error (有效位为8 > 7)
    123456789 NUMBER(5,-4) 123460000
    1234567890 NUMBER(5,-4) Error (有效位为10 > 9)
    12345.58 NUMBER(*, 1) 12345.6
    0.1 NUMBER(4,5) Error (0.10000, 有效位为5 > 4)
    0.01234567 NUMBER(4,5) 0.01235
    0.09999 NUMBER(4,5) 0.09999
  • 相关阅读:
    centos崩溃后如何修复
    乘法是啥
    接上篇—用spring注入DBbean,并使用maven管理
    技术产生价值
    技术?
    世界的本质是啥呢
    java-web 登陆功能
    对java的理解
    数学的历史
    使用jmeter测试接口
  • 原文地址:https://www.cnblogs.com/ruanbl/p/876179.html
Copyright © 2020-2023  润新知