查找有关 Oracle SQL 编号数据的最新文档来回答规模问题



我一直根据我在这里和其他地方找到的旧帖子假设没有指定小数位数的 NUMBER 数据类型默认为零。但是,当我在服务器上查看数据时,即使没有指定刻度,我也会看到有理数(读取非整数(。这是预期行为吗?

为了提供一些背景信息,我是一名技术作家,我正在记录与我们存储的数据相关的各种事情。我一直假设所有没有指定小数位数的 NUMBERS 都是整数。如果这是不正确的,我需要更新我的文档。

我基本上使用以下链接作为我对规模的推理的引用,但现在我认为它已经过时了。链接

我也在这里和这里阅读了预言机文档。最后一个链接还指出,如果未指定比例,则默认值设置为零。

我认为Oracle文档具有误导性。 如果未指定精度小数位数,则数字将按原样存储;默认值为0仅当具有指定的精度时才出现。

因此,以下代码存储 pi 的前几个数字:

create table t (n number);
insert into t(n) values (3.14159265358979);

但这不会:

create table t2 (n number(5));
insert into t2(n) values (3.14159265358979);

这里有一个数据库<>小提琴来说明这一点。

这在我的记忆中是相当不可磨灭的,从将Oracle数据库移植到BigQuery(当时甚至没有数字(的有趣时间开始。 Oracle number 数据类型是过渡中最困难的部分之一。 最后,我们需要将其移动到字符串中。

最新更新