为了账号安全,请及时绑定邮箱和手机立即绑定

NUMBER(p,s)中s<0的含义

NUMBER(5,-2)表示啥意思,12345.67的话是变成45.67吗

正在回答

1 回答

Oracle中数据类型number(m,n)中m表示的是所有有效数字的位数,n表示的是小数位的位数。m的范围是1-38,即最大38位。

    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表示整数。

---------------------------------------------------------------------------------------------------------

第二个参数为负数时,以number(6,-2)为例,表示有效位6位,取整至小数点前2位,例子中如果输入123456则结果为123500,注意有四舍五入。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

NUMBER(p,s)中s<0的含义

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信