Oracle number类型的语法和用法
来源:互联网 发布:发垃圾短信软件 编辑:程序博客网 时间:2024/05/13 02:06
number类型的语法很简单,就是:
number(p,s)
p,s都是可选的,假如都不填,p默认为38,s默认为-48~127。
1. 精度(precision),或总位数。默认情况下,精度为38位,取值范围是1~38之间。也可以用字符*表示38。
2. 小数位置(scale),或小数点右边的位数。小数位数的合法值为-48~127,其默认值取决于是否指定了精度。如果没有知道精度,小数位数则默认有最大的取值区间。如果指定了精度,小数位数默认为0(小数点右边一位都没有)。例如,定义为NUMBER的列会存储浮点数(有小数),而NUMBER(38)只存储整数数据(没有小数),因为在第二种情况下小数位数默认为0.
如下SQL语句:
create table t ( msg varchar2(12.), num_col number(5,2) );
insert into t (msg,num_col) values ( '123.456', 123.456 );//执行成功,保存的是123.46
insert into t (msg,num_col) values ( '1234', 1234 );//执行失败,要保留2位小数,那么整数位最多3位,现在是4位。
如果scale是负数怎么样,表示左边整数位舍入几位:
create table t ( msg varchar2(12.), num_col number(5,-2) );
insert into t (msg,num_col) values ( '123.45', 123.45 );//执行成功,保存的是100
insert into t (msg,num_col) values ( '123.456', 123.456 );//执行成功,保存的是100
其他数据类型:
1. NUMERIC(p,s):完全映射至NUMBER(p,s)。如果p未指定,则默认为38.
2. DECIMAL(p,s)或DEC(p,s):完全映射至NUMBER(p,s)。如果p为指定,则默认为38.
3. INTEGER或INT:完全映射至NUMBER(38)类型。
4. SMALLINT:完全映射至NUMBER(38)类型。
5. FLOAT(b):映射至NUMBER类型。
6. DOUBLE PRECISION:映射至NUMBER类型。
7. REAL:映射至NUMBER类型。
性能考虑:
一般而言,Oracle NUMBER类型对大多数应用来讲都是最佳的选择。不过,这个类型会带来一些性能影响。Oracle NUMBER类型是一种软件数据类型,在Oracle软件本身中实现。我们不能使用固有硬件操作将两个NUMBER类型相加,这要在软件中模拟。不过,浮点数没有这种实现。将两个浮点数相加时,Oracle会使用硬件来执行运算。
换而言之,将一些列的number列相加,没有将一系列float列相加来得快。因为float列的精度低很多,一般是6~12位。
比如:select sum(ln(cast( num_type as binary_double ) )) from t
比:select sum(ln(cast( num_type) )) from t 要快很多。
- Oracle number类型的语法和用法
- Oracle number类型的语法和用法
- Oracle的Number类型
- oracle 的number类型
- Oracle的number类型
- oracle中的number类型用法及举例
- oracle中的number类型用法及举例
- oracle中的number类型用法及举例
- Oracle Number类型的讨论
- 【Oracle】Number类型的定义
- oracle表中列的类型。number和integer区别
- 【NUMBER】有关Oracle NUMBER类型定义中precision和scale的测试和总结
- ORACLE-012:oracle中纯数字的varchar2类型和number类型自动转换
- Oracle中的Number和Float类型
- oracle中integer、pls_integer和number类型
- 关于oracle的number类型的理解
- oracle的number类型精度、刻度范围
- oracle number类型的格式化输出
- uva10791
- ubuntu 开启无线网卡的wifi热点
- hdoj 1202 水水更健康
- 优秀程序员的十大习惯
- CAAnimation 完后属性不更新问题
- Oracle number类型的语法和用法
- live archive 3708
- 启动jenskins工具脚本。
- How to change Bootstrap admin password
- 排序系列--快速排序(实现+复杂度分析)
- 单片机中晶振的作用
- MacOs X下 TextMate2的破解方法(亲测可用)
- opencv 2.4 人脸检测
- 享元模式具体事例(元素化合物)带你参透享元模式的原理与作用