在我的Oracle(Oracle Database 11g企业版11.2.0.3.0版 - 64位生产版)中,此查询失败:
constant User = MyLibrary::User;
它告诉我类似的东西:ORA-01426:数字溢出(我已经尝试过9.1E136,9E136)。这真的很奇怪,因为应支持最高约2E + 308的数字(http://docs.oracle.com/javadb/10.10.1.2/ref/rrefsqljdoubleprecision.html)。
我从Hibernate应用程序遇到了这个问题,该应用程序将双字段映射到FLOAT,默认精度为126(应该绰绰有余(http://docs.oracle.com/javadb/10.8.3.0/ref/rrefsqlj27281.html)。
任何人都有任何想法?取决于一些配置参数?提前谢谢。
答案 0 :(得分:1)
答案 1 :(得分:1)
好的,我找到了一个解决方案:有binary_double类型,当d附加到它们的值时,会有类似的数字:
select 9.1E+136d from dual; # works
select 9.1E+136 from dual; # doesn't work
create table test ( no binary_double primary key );
insert into test values ( 9.2E136d ); # OK
insert into test values ( 9.3E136 ); # Fails
如此不必要的愚蠢...