Database 如何创建至少包含11位数字的Oracle编号?

Database 如何创建至少包含11位数字的Oracle编号?,database,oracle,floating-point,numbers,Database,Oracle,Floating Point,Numbers,我需要创建一个数据类型,它支持至少x位的数字,并且能够存储x位以上的数字 在TCPE中,数据类型称为NUM(m[,n])。M表示总位数至少为M的无符号数值,其中n位位于小数点后的右侧 那么NUM(11)我如何在oracle中为此创建数据类型呢 我在考虑数字(11,0),但这似乎是最大位数。 也许浮点运算能解决这个问题 还是应该使用检查约束?但是使用check约束似乎有点奇怪,因为我认为这是本机支持的。不可能声明“至少包含x个数字并且能够存储x个以上数字”的数字类型 您所能做的就是将其声明为NUM

我需要创建一个数据类型,它支持至少x位的数字,并且能够存储x位以上的数字

在TCPE中,数据类型称为NUM(m[,n])。M表示总位数至少为M的无符号数值,其中n位位于小数点后的右侧

那么NUM(11)我如何在oracle中为此创建数据类型呢

我在考虑数字(11,0),但这似乎是最大位数。 也许浮点运算能解决这个问题


还是应该使用检查约束?但是使用check约束似乎有点奇怪,因为我认为这是本机支持的。

不可能声明“至少包含x个数字并且能够存储x个以上数字”的数字类型

您所能做的就是将其声明为
NUMBER(38,0)
(可能的最大整数),并创建约束以检查该数字是否小于X位长度

UPD


同样,正如您所提到的,
NUMBER(*,0)
也是做同样工作的有效方法。

拥有“至少x位”有什么意义?存储值或向用户表示值时是否存在问题?我是否应该使用数字(*,0)是否相同?@Sam S:
*
是否是精度的有效值@虫族:是的。在甲骨文中,数字(38,0)是可能的最大精度。@Janek Bogucki:是的,我的错。。。每个答案有2个发现,结果很好;-)谢谢