Oracle 10g 与 SQL Server 2005 的数据类型



Oracle 10g 数据类型
SQL Server 2005 的数据类型


附录:
1、关于 NUMBER(p,s) ,能表示的有效值为 1.0 x 10-130 to (but not including) 1.0 x 10126
    p:精度值,指有效位数,从左边第一个不为0的数算起,小数点和负号不计入有效位数。取值范围为 0 ~ 38 。
    s:标度值,小数点右边最小有效数字位数。取值范围为 -84 ~ 127 。
      ● s>0:精确到小数点右边 s 位,并四舍五入。
      ● s<0:精确到小数点左边 s 位,并四舍五入。
例如:
    NUMBER(5,3)可以存储的数字形式为:pp.sss。

ps.
    Scale can be greater than precision, most commonly when e notation is used. When scale is greater than precision, the precision specifies the maximum number of significant digits to the right of the decimal point. For example, a column defined as NUMBER(4,5) requires a zero for the first digit after the decimal point and rounds all values past the fifth digit after the decimal point.
    当 s > p 时,例如 NUMBER(4,5) ,必须数值为 0.0xxxx 的数字(小数点后 s-p 位加0)。

示例:

 定义格式  输入数值  存储状态
 NUMBER  123.89  123.89
 NUMBER(5)  123.89  124
 NUMBER(5,0)  123456  ORA-01438: 值大于为此列指定的允许精度
     
 NUMBER(6,2)  123.89  123.89
   123.8951  123.9
     
 NUMBER(2,5)  0.000811  0.00081

123.89 ORA-01438: 值大于为此列指定的允许精度

1.2e-4 0.00012

 

posted on 2008-10-13 00:29  黄小二  阅读(346)  评论(0编辑  收藏  举报