oracle--number
1. oracle的number类型是oracle的内置类型之一,是oracle的最基础数值数据类型。在9iR2及其以前的版本中只支持一种适合存储数值数据的固有数据类型,在10g以后,才出现了两种新的数值类型,即推出本地浮点数据类型(Native Floating-Point Data Types): BINARY_FLOAT(单精度32位)和BINARY_DOUBLE(双精度64位)。这些新数据类型都是基于IEEE二进制浮点运算标准,ANSI/IEEE Std 754-1985 [IEEE 754],使用这些类型时要加上文字f(BINARY_FLOAT)或者d(BINARY_DOUBLE),比如2.07f、3.000094d
2.number类型的语法很简单:number(p,s)
p:精度位,precision,是总有效数据位数,取值范围是38,默认是38,可以用字符*表示38;
s:小数位,scale,是小数点右边的位数,取值范围是-84~127,默认值取决于p,如果没有指定p,那么s是最大范围,如果只指定了p,那么s=0。
s>0,精确到小数点右边s位,然后检验有效数位是否<=p;
s<0,精确到小数点左边s位,然后检验有效数位是否<=p+|s|;
s==0或者未指定,四舍五入到最近整数
当p<s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p位必须是0,保留s位小数。
例子:具体数据可参考下表
|
Value |
Datatype |
Stored Value |
|
123.2564 |
NUMBER |
123.2564 |
|
1234.9876 |
NUMBER(6,2) |
1234.99 |
|
12345.12345 |
NUMBER(6,2) |
Error |
|
1234.9876 |
NUMBER(6) |
1235 |
|
12345.345 |
NUMBER(5,-2) |
12300 |
|
1234567 |
NUMBER(5,-2) |
1234600 |
|
12345678 |
NUMBER(5,-2) |
Error |
|
123456789 |
NUMBER(5,-4) |
123460000 |
|
1234567890 |
NUMBER(5,-4) |
Error |
|
12345.58 |
NUMBER(*, 1) |
12345.6 |
|
0.1 |
NUMBER(4,5) |
Error |
|
0.01234567 |
NUMBER(4,5) |
0.01235 |
|
0.09999 |
NUMBER(4,5) |
0.09999 |
|
0.099996 |
NUMBER(4,5) |
Error |
oracle--number的更多相关文章
- [20191013]oracle number类型存储转化脚本.txt
[20191013]oracle number类型存储转化脚本.txt --//测试看看是否可以利用bc obase=100的输出解决问题.另外以前脚本忘记考虑尾数的四舍五入问题.--//也许编程就是 ...
- [20191003]oracle number类型存储转化脚本.txt
[20191003]oracle number类型存储转化脚本.txt --//完善脚本,增加支持科学记数法.比如1e4之类的写法. 2.测试:$ cat test.txt012251234100-4 ...
- ORACLE NUMBER类型Scale为0引发的问题
今天遇到了一个很有意思的NUMBER类型Scale引发的问题,我用一个简单的测试用例来展示一下这个案例.假如有个TEST的表,有个字段类型为NUMBER,我插入下面两条数据 CREATE TABLE ...
- 【转】oracle number与java中long、int的对应
Oracle数据库中number类型在hibernate的引用 1)如果不指定number的长度,或指定长度n>18 id number not null,转换为pojo类时,为java.mat ...
- Oracle Number类型超长小数位为0问题
碰到了一个非常奇怪的问题,从Excel拷贝出来的数据,位数很长,通过Pl Sql 导出到Oracle后为0了,而且设置查询条件为0时,无法查询出来,条件大于0居然能查询出来,通过to_number也是 ...
- oracle number型日期转date型日期
在搞数据库时,发现有这样的一个字段,类型是NUMBER(38),查看了一下里面的数据,都是这样的, 13239576781141321326994295132212930680413221297162 ...
- oracle number 和sqlserver numeric的区别
number如果不指定范围默认是可以输入所有位数的小数,numeric如果不指定小数默认是不允许输入小数
- Oracle number类型前端界面和数据库查询不一致 number精度问题
[发现问题] [问题分析] Ⅰ.在前端界面查询,发现了库存中存在这样的数量值.但是在数据库中查询时显示正常.即6.999999999999997 为 7. Ⅱ.至于这种小数产生,我以为是oracle存 ...
- oracle number 类型 只显示10位精度
,) show numwidth; 设置为15位 ; xa ------------------ 123456789012.12 或者 TO_CHAR(xa,'FM099999999999.09999 ...
- ORACLE 中NUMBER类型默认的精度和Scale问题
在ORACLE数据库中,NUMBER(P,S)是最常见的数字类型,可以存放数据范围为10^-130~10^126(不包含此值),需要1~22字节(BYTE)不等的存储空间.P 是Precison的英文 ...
随机推荐
- 第二百四十六天 how can I 坚持
领悟啊.好伤心啊. 到底应该是怎样的一个过程,才能得到想要的结果啊. 我不懂我自己.. 睡觉吧. 中午吃的米线. 好渴,晚上没喝水呢,活该.谁让你一直玩游戏. 睡觉了.弟弟回家了,过两天去烟台待一个月 ...
- 【转】Nginx系列(四)--工作原理
原博文出于: http://blog.csdn.net/liutengteng130/article/details/46724081 感谢! 上篇文章介绍了Nginx框架的设计之管理进程以及 ...
- 【WPF】【火车站点信息查询】
全文涉及到的是C#和XAML 如果这两门语言并非你喜欢的语言,那可以关闭本网页了 本文介绍的是什么? 一个火车站点信息查询软件 本文涉及到的WPF基本知识 Task async await WebCl ...
- Hibernate之基于外键映射的一对一(1-1)关联关系
1.对于基于外键的1-1关联,其外键可以存放在任意一边,在需要存放外键一端,增加many-to-one元素.为many-to-one元素增加unique="true"属性来表示为1 ...
- Linux下的scp拷贝命令详解
相同Linux系统中对文件复制拷贝可以用CP命令: cp [options] source dest cp [options] source... directory 说明:将一个档案拷贝至另一档案, ...
- UIImage 相关操作
修改UIImage大小 修改UISlider的最大值和最小值图片的时候,发现需要修改图片的大小,否则会导致UISlider变形.目前苹果还不支持直接修改UIImage类的大小,只能修改UIImageV ...
- POJ 3666 Making the Grade (DP)
题意:输入N, 然后输入N个数,求最小的改动这些数使之成非严格递增即可,要是非严格递减,反过来再求一下就可以了. 析:并不会做,知道是DP,但就是不会,菜....d[i][j]表示前 i 个数中,最大 ...
- UVa712 S-Trees
// UVa712 S-Trees // Rujia Liu // 题意:给一棵满二叉树,每一层代表一个01变量,取0时往左走,取1时往右走.给出所有叶子的值,以及一些查询(即每个变量的值),求最后到 ...
- Spring声明式事务的配置~~~
/*2011年8月28日 10:03:30 by Rush */ 环境配置 项目使用SSH架构,现在要添加Spring事务管理功能,针对当前环境,只需要添加Spring 2.0 AOP类库即可.添加 ...
- HDU 5538 L - House Building 水题
L - House Building Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hdu.edu.cn/showproblem.ph ...