我需要创建一个数据类型,它支持至少x位数的数字,并且能够存储超过x位数。
在TCPE中,数据类型称为NUM(m [,n])。 M表示无符号数值,总位数至少为m,其中n位数位于小数点后右侧。
那么NUM(11)如何在oracle中为此创建数据类型?
我在考虑NUMBER(11,0)但似乎这是最大位数。 也许浮点能够解决这个问题?
或者我应该使用检查约束?但是使用检查约束似乎有点奇怪,因为我认为这将是本机支持的。
答案 0 :(得分:4)
无法声明包含“至少x位数且能够存储多于x位数”的数字类型。
您只需将其声明为NUMBER(38,0)
(最大可能的整数)并创建约束以检查该数字是否小于X位数。
<强> UPD 强>
另外,正如您提到的那样NUMBER(*, 0)
也是完成同样工作的有效方式。