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位