为什么Oracle汇总了少于38位有效数字的数字?

为什么Oracle汇总了少于38位有效数字的数字?,第1张

概述我们有Oracle Server 10.2. 为了测试这个,我有一个非常简单的表. CREATE TABLE MYSCHEMA.TESTNUMBER( TESTNUMBER NUMBER) 当我尝试插入0.98692326671601283时,数字会被四舍五入. INSERT INTO MYSCHEMA.TESTNUMBER (TESTNUMBER) VALUES (0.9869232 我们有Oracle Server 10.2.

为了测试这个,我有一个非常简单的表.

CREATE table MYSCHEMA.TESTNUMBER(  TESTNUMBER  NUMBER)

当我尝试插入0.98692326671601283时,数字会被四舍五入.

INSERT INTO MYSCHEMA.TESTNUMBER (TESTNUMBER) VALUES (0.98692326671601283);

选择返回:

select * from TESTNUMBER

0.986923266716013

它将最后3个数字“283”四舍五入为“3”.

即使用TOAD UI查看它并尝试使用TOAD输入它,我也会得到相同的结果.
为什么?是否可以在Oracle编号中插入此编号而不进行舍入?

@H_403_39@解决方法 我认为您需要了解客户端程序如何显示数字值. 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----------.986923267dev> column x format 0.000000000000000000000000000dev> /                             X------------------------------ 0.986923266716012830000000000

如您所见,默认格式仅显示前9位有效数字.但是当我明确更改列格式(sqlPlus中的客户端功能)时,会显示插入的完整值.

总结

以上是内存溢出为你收集整理的为什么Oracle汇总少于38位有效数字的数字?全部内容,希望文章能够帮你解决为什么Oracle汇总了少于38位有效数字的数字?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/1164587.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-01
下一篇 2022-06-01

发表评论

登录后才能评论

评论列表(0条)

保存