oracle 数据库 NUMBER类型细讲

mac2022-06-30  28

1>.NUMBER类型细讲:Oracle number datatype 语法:NUMBER[(precision [, scale])]简称:precision --> p      scale     --> s

NUMBER(p, s)范围: 1 <= p <=38, -84 <= s <= 127保存数据范围:-1.0e-130 <= number value < 1.0e+126   保存在机器内部的范围: 1 ~ 22 bytes

有效位:从左边第一个不为0的数算起的位数。s的情况:s > 0   精确到小数点右边s位,并四舍五入。然后检验有效位能不能 <= p。s < 0    精确到小数点左边s位,并四舍五入。然后检验有效位能不能 <= p + s。s = 0   此时NUMBER表示整数。

eg:Actual Data   Specified As Stored As----------------------------------------123.89           NUMBER         123.89123.89           NUMBER(3)     124123.89           NUMBER(6,2)   123.89123.89           NUMBER(6,1)   123.9123.89           NUMBER(4,2)   exceeds precision (有效位为5, 5 > 4)123.89           NUMBER(6,-2) 100.01234           NUMBER(4,5)   .01234 (有效位为4).00012           NUMBER(4,5)   .00012.000127       NUMBER(4,5)   .00013.0000012      NUMBER(2,7)   .0000012.00000123     NUMBER(2,7)   .00000121.2e-4           NUMBER(2,5)   0.000121.2e-5           NUMBER(2,5)   0.00001123.2564      NUMBER        123.25641234.9876     NUMBER(6,2)   1234.9912345.12345   NUMBER(6,2)   Error (有效位为5+2 > 6)1234.9876     NUMBER(6)     1235 (s没有表示s=0)12345.345     NUMBER(5,-2) 123001234567       NUMBER(5,-2) 123460012345678      NUMBER(5,-2) Error (有效位为8 > 7)123456789     NUMBER(5,-4) 1234600001234567890    NUMBER(5,-4) Error (有效位为10 > 9)12345.58      NUMBER(*, 1) 12345.60.1           NUMBER(4,5)   Error (0.10000, 有效位为5 > 4)0.01234567    NUMBER(4,5)   0.012350.09999       NUMBER(4,5)   0.09999

转载于:https://www.cnblogs.com/jamesping/articles/2059585.html

最新回复(0)