怎么查oracle的最大整数
答案:2 悬赏:60
解决时间 2021-03-11 21:36
- 提问者网友:不懂我就别说我变
- 2021-03-11 12:33
怎么查oracle的最大整数
最佳答案
- 二级知识专家网友:白日梦制造商
- 2021-03-11 12:40
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表示整数。
从而,Oracle可以存储、可以运算的最大整数是 1e126 -1 。
declare
n number:=0;
begin
for i in REVERSE 1..125 loop
n := n + 9*power(10,i);
dbms_output.put_line(i || '-->' || n);
end loop;
insert into tt(id)values(n);
commit;
end;
/
经实际验证,的确可以存放1e126-1,但无法查看,也无法参与运算。
简称: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表示整数。
从而,Oracle可以存储、可以运算的最大整数是 1e126 -1 。
declare
n number:=0;
begin
for i in REVERSE 1..125 loop
n := n + 9*power(10,i);
dbms_output.put_line(i || '-->' || n);
end loop;
insert into tt(id)values(n);
commit;
end;
/
经实际验证,的确可以存放1e126-1,但无法查看,也无法参与运算。
全部回答
- 1楼网友:狙击你的心
- 2021-03-11 12:53
期待看到有用的回答!
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯