如何创建至少11位数的Oracle号码?

时间:2011-03-09 05:31:48

标签: database oracle floating-point numbers

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

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

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

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

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

1 个答案:

答案 0 :(得分:4)

无法声明包含“至少x位数且能够存储多于x位数”的数字类型。

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

<强> UPD

另外,正如您提到的那样NUMBER(*, 0)也是完成同样工作的有效方式。