Oracle数据类型number

oracle数值类型只有number

number(变长)

1.number可以存放整数,可以存放小数;

2.number(p,s)

  说明:

  p表示有效位,s为小数位;范围p[1,38],s[-84,127]

  number可以表示的数值范围:-1.0e-130~~1.0e+126

  案例1

  number(5,2) 有效位无5位小数位占2个 

  创建表

  create table test1(price number(5,2));

  插入数据

  

  如果插入的数据超过了五位就自动截断了

  

  整数位大于3报错,小数位可以超过2位但是会进行四舍五入阶段

  

  案例2

  number(5)==number(5,0)

  表示范围:-99999~~99999

  比如99999.16 结果是99999把0.16给舍掉了,如果是0.56进一位就超出了

 

  案例3  

  123.89 number  值就是123.89

  

  案例4

  123.89 number(3) 值是124

  

 

   案例5 123.89 number(6,2)  值为123.89

  

 

  案例6

  123.89 number(4,2) 会超出范围,长度超出了有效长度

  

      

  案例7

  123.89 number(6,-2)  -2代表的意思是小数点往左边挪,就把23抹掉了

  

  

  PS:在number当中截取时候会保持四舍五入

总结:

  1.实际过程中如果项目明确要求了精确多少位,number类型应该写明有效位和小数位.当不明确的时候直接使用number,不标明位数.

  2.number是变长的

  3,p为有效位(从左边第一个非0的数值开始)

   p[1,38],s[-84,127]

   有效位最大38位,而小数能到127位