oracle 怎样保存超过10E126

我有个oracle 阶乘的算法,想实现,但是在计算时超过了1e126
declare
a_id number;
a_fac number;

begin
a_fac:=1;
for i in 1..100000 loop
a_id:=i;
a_fac:= i*a_fac;

insert into TD(id,fac) values(a_id,a_fac);

end loop;
end;
/

求问怎样实现?
最新回答
风花雪月夜

2024-10-14 21:49:28

Oracle没有提供类似java中的bigdecimal,number类型最大为38位,你只能使用字符串或数组模拟
追问
也就是说没有办法在oracle里面算出100000的阶乘对吗