WEB开发网
开发学院数据库Oracle PL/SQL块定义部分之一标量类型 阅读

PL/SQL块定义部分之一标量类型

 2009-03-12 13:10:53 来源:WEB开发网   
核心提示: NATURAL 0-231范围的整数POSITIVE 1-231范围的整数NATURALN 不允许NULL值,其它同NATURALPOSITIVEN 不允许NULL值,PL/SQL块定义部分之一标量类型(2),其它同POSITIVESIGNTYPE 符号类型,只允许三个值-1 0 1三个值

NATURAL    0-231范围的整数

POSITIVE   1-231范围的整数

NATURALN   不允许NULL值,其它同NATURAL

POSITIVEN  不允许NULL值,其它同POSITIVE

SIGNTYPE   符号类型,只允许三个值-1 0 1三个值

注意:BINARY_INTEGER及其子类型是PL/SQL数据类型,而非SQL数据类型,也就是说,在创建表时不能使用。

2、PLS_INTEGER    范围是从-231--231的整数,虽然PLS_INTEGER与BINARY_INTEGER范围一致,但是它们不完全相同。如果PLS_INTEGER计算时数据溢出,它会抛出异常。而BINARY_INTEGER会自动转换成NUMBER类型,另外PLS_INTEGER的速度要比BINARY_INTEGER快。

注意:PLS_INTEGER是PL/SQL数据类型,而非SQL数据类型。

3、NUMBER    表示固定长度的数字或者浮点数,范围从1E-130--10E125,NUMBER(p,s),其中p范围是1至38,s范围是-84至127。p和s都只能是数字,不能是常量或者变量。下面分成几种情况讨论:

38>=p>=s>=0

a NUMBER(5,3)表示最多为5(p)位,且含3(s)位小数的数字。

b NUMBER(5,5)表示含5位小数的浮点数。

以上注意:如果小数位大于s,则四舍五入到s位。如果整数位大于p-s,Oracle则会报错。如:

a:=84.987;(合法)

a:=84.98765;(合法,但值变为84.988)

a:=845.987;(Oracle报错:数值精度太高)

b:=0.98765;(合法,小数点左边的零不算有效位)

b:=0.987654;(合法,但值变为.98765)

b:=1.9876;(Oracle报错,数值精度太高)

127>=s>p

c NUMBER(4,5)表示小数点右侧至少含有1(s-p)个0,小数总位数不超过5(s,如果大于s则四舍五入),整数部分位0

上一页  1 2 3 4 5 6  下一页

Tags:PL SQL 定义

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接