INTEGER括号内的数字表示什么?

时间:2013-03-12 14:49:14

标签: sql oracle plsql oracle11g

做什么:

value_1 INTEGER(5);

是什么意思?

我理解value_1是一个整数,但5在声明中的含义是什么?

2 个答案:

答案 0 :(得分:5)

在Oracle中,这意味着数字允许的最大小数位数。
因此,类型数(5)的变量可以包含99999,但不能包含100000 实际上,该子类型将您限制为值-99999到99999.

Oracle docs covering number subtypes, of which one is integer.

Oracle docs covering the number type.

答案 1 :(得分:0)

简单来说,当有人写一些像value_1 INTEGER(5);表示定义名称为value_1的变量的数字类型,该数字类型的精度为5.

除了精度之外,还可以定义这样的比例:value_1 number(p,s) - 其中p是精度,s是比例。

在Oracle 11g中 - Precision的范围为1到38,Scale的范围为-84到127.

例如,数字(7,2)是一个小数点前5位数和小数点后2位数的数字。

现在假设您要定义一个始终<1000的数字,然后您可以这样定义:

NUMBER(3,2),以便您可以容纳最大999.99

希望这有用!!