关于oracle的number类型的理解
来源:互联网 发布:什么是淘宝炒作号 编辑:程序博客网 时间:2024/05/16 12:38
oracle中数字类型有number,number可以存储小数的,如果是只想存储整数,建议
声明为:pls_integer 或者是binary_integer或者是integer。
其中number类型的声明类型为number(精度,刻度),所谓精度我的理解就是从左侧第一个不为零的数字开始到开始四舍五入的位置的位数,刻度就是从小数点数几位开始进行四舍五入。刻度为正,表示小数点向后数,刻度为负,表示小数点向前数。
简单的举例来说:number(3,2)。
这个数据类型的精度为3位,精确到小数点后面2位。
如果有个变量这样声明:n_test number(3,2):=6.335;
那么oracle怎么判断这个类型的变量能否给赋这个值呢?总的来说是分三步进行的:
1. 根据刻度进行四舍五入:6.335——>6.34
2. 对上述值检查精度的位数为3
3. 检查结果不大于指定的精度,可以保存。
如果有个变量这样声明
n_test number(3,2):=63.355;
那么oracle怎么判断这个类型的变量能否给赋这个值呢?还是分三步来进行:
1. 根据刻度进行四舍五入:63.35——>63.36
2. 对上述值检查精度的位数为4
3. 检查结果大于指定的精度,不可以保存,Oracle会提示错误。
再举一个刻度为负的例子:number(3,-3)。
这个数据类型表示精度为3位,精确到小数点前面3位。
如果有个变量这样声明:n_test number(3,-3):=30541;那么Oracle怎么判断这个类型的变量能否给赋这个值呢?还是三步:
1. 根据刻度进行四舍五入:30541——>31000
2. 对上述值检查精度为2
3. 根据精度判断小于指定的精度,Oracle不报错,能保存。
如果有个变量声明如下:n_test number(1,-2):=45698;那么Oracle怎么判断这个类型的变量能否给赋这个值呢?还是三步:
1. 根据刻度进行四舍五入:45698——>45700;
2. 对上述检查精度为3
3. 根据精度检查大于指定的精度范围不能保存。
如果换成其他数字,依次类推。
- 关于oracle的number类型的理解
- Oracle的Number类型
- oracle 的number类型
- Oracle的number类型
- Oracle 关于number类型转换to_char类型 存在的问题
- 【Oracle】NUMBER类型理解
- 关于oracle number类型超过16位的显示问题
- Oracle Number类型的讨论
- 【Oracle】Number类型的定义
- 关于oracle的timestamp类型的一点理解
- 关于Oracle Number类型
- oracle的number类型精度、刻度范围
- oracle number类型的格式化输出
- Oracle number类型的语法和用法
- oracle的number类型精度、刻度范围
- C#读取oracle的number字段类型
- Oracle的number类型精度、刻度范围
- oracle的数值类型number案例
- 初识SVN(六):“目标机器拒绝连接”的问题
- WinMM.dll 函数汇总
- C++、C#比较
- GeoServer学习手记(三):GeoServer架构浅谈
- 菜鸟的困惑,请高手达人指点
- 关于oracle的number类型的理解
- 从三名救人大学生想到的
- ORACLE SEQUENCE 介绍
- 大家好!
- http://blog.chinaunix.net/u2/68418/index.html
- http://www.mydown.net/download/index.html 源码下载
- javascript--元素的尺寸
- *成为Java高手的25个学习要点*
- 别人的Blog 好好学习别人