【问题标题】:What does the number inside the parenthesis of INTEGER denote?INTEGER 括号内的数字表示什么?
【发布时间】:2013-03-12 14:49:14
【问题描述】:

做什么:

value_1 INTEGER(5);

意思是?

我知道value_1 是一个整数,但5 在声明中是什么意思?

【问题讨论】:

    标签: sql oracle plsql oracle11g


    【解决方案1】:

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

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

    Oracle docs covering the number type.

    【讨论】:

      【解决方案2】:

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

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

      在 Oracle 11g 中 - Precision 的范围可以从 1 到 38,Scale 的范围可以从 -84 到 127。

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

      现在假设你想定义一个应该总是

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

      希望对你有帮助!!

      【讨论】:

      • 感谢您的回答,尽管我很难想象这个功能可能有用的场景。我的意思是,您可以将限制限制为 99、999...,但不能限制为 900
      猜你喜欢
      • 2015-06-21
      • 1970-01-01
      • 1970-01-01
      • 2012-08-10
      • 2017-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多