为什么Oracle汇总了少于38位有效数字的数字?
发布时间:2021-01-17 20:43:47 所属栏目:站长百科 来源:网络整理
导读:我们有Oracle Server 10.2. 为了测试这个,我有一个非常简单的表. CREATE TABLE MYSCHEMA.TESTNUMBER( TESTNUMBER NUMBER) 当我尝试插入0.98692326671601283时,数字会被四舍五入. INSERT INTO MYSCHEMA.TESTNUMBER (TESTNUMBER) VALUES (0.9869232667160128
我们有Oracle Server 10.2. 为了测试这个,我有一个非常简单的表. CREATE TABLE MYSCHEMA.TESTNUMBER ( TESTNUMBER NUMBER ) 当我尝试插入0.98692326671601283时,数字会被四舍五入. INSERT INTO MYSCHEMA.TESTNUMBER (TESTNUMBER) VALUES (0.98692326671601283); 选择返回: select * from TESTNUMBER
它将最后3个数字“283”四舍五入为“3”. 即使用TOAD UI查看它并尝试使用TOAD输入它,我也会得到相同的结果. 解决方法我认为您需要了解客户端程序如何显示数字值. Oracle NUMBER应该以完全精度存储该值;但是该值可以舍入以供客户显示.例如,使用SQLPlus: dev> create table dctest (x number); Table created. dev> insert into dctest VALUES (0.98692326671601283); 1 row created. dev> select * from dctest; X ---------- .986923267 dev> column x format 0.000000000000000000000000000 dev> / X ------------------------------ 0.986923266716012830000000000 如您所见,默认格式仅显示前9位有效数字.但是当我明确更改列格式(SQLPlus中的客户端功能)时,会显示插入的完整值. (编辑:西安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |