Oracle中NUMBER类型问题
2008-10-29 16:16
330 查看
在Oracle中Number类型可以用来存储0,正负定点或者浮点数,可表示的数据范围在
1.0 * 10(-130) —— 9.9...9 * 10(125) {38个9后边带88个0}
的数字,当Oracle中的数学表达式的值>=1.0*10(126)时,Oracle就会报错。
Number的数据声明如下:
表示 作用 说明
Number(p, s) 声明一个定点数 p(precision)为精度,s(scale)表示小数点右边的数字个数,精度最大值为38,scale的取值范围为-84到127
Number(p) 声明一个整数 相当于Number(p, 0)
Number 声明一个浮点数 其精度为38,要注意的是scale的值没有应用,也就是说scale的指不能简单的理解为0,或者其他的数。
定点数的精度(p)和刻度(s)遵循以下规则:
当一个数的整数部分的长度 > p-s 时,Oracle就会报错
当一个数的小数部分的长度 > s 时,Oracle就会舍入。
当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。
当s > p 时, p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入
1.0 * 10(-130) —— 9.9...9 * 10(125) {38个9后边带88个0}
的数字,当Oracle中的数学表达式的值>=1.0*10(126)时,Oracle就会报错。
Number的数据声明如下:
表示 作用 说明
Number(p, s) 声明一个定点数 p(precision)为精度,s(scale)表示小数点右边的数字个数,精度最大值为38,scale的取值范围为-84到127
Number(p) 声明一个整数 相当于Number(p, 0)
Number 声明一个浮点数 其精度为38,要注意的是scale的值没有应用,也就是说scale的指不能简单的理解为0,或者其他的数。
定点数的精度(p)和刻度(s)遵循以下规则:
当一个数的整数部分的长度 > p-s 时,Oracle就会报错
当一个数的小数部分的长度 > s 时,Oracle就会舍入。
当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。
当s > p 时, p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入
相关文章推荐
- ORACLE 中NUMBER类型默认的精度和Scale问题
- 查看oracle的number(20)类型数据为科学计数法的问题
- ORACLE_NUMBER类型Scale为0引发的问题
- 关于oracle number类型超过16位的显示问题
- 解决从pl/sql查看oracle的number(19)类型数据为科学计数法的问题
- 在Oracle中NUMBER数据类型的定义问题
- ORACLE_NUMBER类型Scale为0引发的问题
- 转载《Oracle中NUMBER类型问题 》
- oracle中number数据类型的存储以及最大值问题
- Oracle中Number类型字段使用.netTiers和CodeSmith问题的解决方案
- Oracle Number类型超长小数位为0问题
- Oracle 关于number类型转换to_char类型 存在的问题
- Oracle中NUMBER类型问题
- to_number与oracle 里面number类型易出错的问题
- Oracle中NUMBER类型问题
- 解决从pl/sql查看oracle的number(19)类型数据为科学计数法的有关问题
- Oracle中Number类型字段使用.netTiers和CodeSmith问题的解决方案
- Oracle~MyBatis~Java之Number长度对应的不同类型
- oracle中的number类型用法及举例
- 关于BigDecimal在MySQL和Oracle中设计表的时候如何设计其类型的问题