您的位置:首页 > 数据库 > Oracle

oracle中Number类型总结

2014-03-23 21:45 239 查看
1.number(p,s), p:精度位,precision,是总有效数据位数,取值范围是1-38,默认是38,可以用字符*表示38。
s:小数位,scale,是小数点右边的位数,取值范围是-84~127,默认值取决于p,如果没有指定p,那么s是最大范围,如果指定了p,那么s=0。
2. number(p)   声明一个整数     number(p,s)  声明一个定点数     number   声明一个浮点数
3number(p)的时候,整数位不能超过p,如果输入小数位数据库会报错,整数位最多是(p-s)s这回默认为0   4.number(p,s) s>0且p>s 例: number(5,2),   整数位最多表示(p-s)位,小数位最多表示s位。如果整数位超出数据库报错,小数位超出则会自动四舍五入小数点后s位。   例:34.345超出小数位则数据库自动保存34.35如果是34.344则保存34.34,如果小数位数不够自动补0.   5.number(p,s) s>0且s=p时,例:number(5,5),这个时候的整数位只能为0,如果整数位大于0则会报错,后面小数位的处理和4一样。整数位还是(p-s),所以整数位只能为0   6.number(p,s) s>0且s>p时。。貌似这样怎么输都是错的。。也不知道也什么意义。。如果有知道的话,麻烦告知。     7.number(p,s)s<0 且(p>|s|,p=|s|,p<|s|都包括)时,例:number(5,-2),整数位最多 (p-s) 7位,当小数位<0时,会从小数点开始向左数|s|位 ,进行舍入,输入54123会变成54100,也可以表式9999900这样的7位数。number(5,-5)可以表式1111100000  number(5,-6) 可以表式11111000000.   总结:      当整数位超过p-s时,oracle会报错.      当s<=0时,如果输入小数位,oracle会报错。      当s>0时,如果输入的小数大于s的时候,oracle会自动舍入,当输入的小数位不够的时候自动补0.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: