原文:http://www.jb51.net/article/37633.htm

NUMBER ( precision, scale)
a)  precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度。
b)  如果scale大于零,表示数字精确到小数点右边的位数;scale默认设置为0;如果scale小于零,Oracle将把该数字取舍到小数点左边的指定位数。
c)  Precision的取值范围为【1---38】;Scale的取值范围为【-84---127】。
d)  NUMBER整数部分允许的长度为(precision- scale),无论scale是正数还是负数。
e)  如果precision小于scale,表示存储的是没有整数的小数。
f)  Precision表示有效位数,有效数位:从左边第一个不为0的数算起,小数点和负号不计入有效位数;scale表示精确到多少位,指精确到小数点左边或右边多少位(+-决定)。
g)  Number值类型举例:

实际值

数据类型

存储值

1234567.89

Number

1234567.89

1234567.89

Number(8)

1234567

1234567.89

Number(6)

出错

1234567.89

Number(9,1)

1234567.9

1234567.89

Number(9,3)

出错

1234567.89

Number(7,2)

出错

1234567.89

Number(5,-2)

1234600

1234511.89

Number(5,-2)

1234500

1234567.89

Number(5,-4)

1230000

1234567.89

Number(*,1)

1234567.9

0.012

Number(2,3)

0.012

0.23

Number(2,3)

出错

h)  关于precision, scale也可以作如下表述
定点数的精度(p)和刻度(s)遵循以下规则:
1)  当一个数的整数部分的长度 > p-s 时,Oracle就会报错
2)  当一个数的小数部分的长度 > s 时,Oracle就会舍入。
3)  当s(scale)为负数时,Oracle就对小数点左边的s个数字进行舍入。
4)  当s > p 时, p表示小数点后第s位向左最多可以有多少位数字,如果大于p则Oracle报错,小数点后s位向右的数字被舍入

NUMBER类型的子类
a)  oracle本来就没有int类型,为了与别的数据库兼容,新增了int类型作为number类型的子集。
b)  int类型只能存储整数;number可以存储浮点数,也可以存储整数。
c)  在oracle数据库建表的时候,decimal,numeric不带精度,oracle会自动把它处理成INTEGER;带精度,oracle会自动把它处理成number。
d)  Oracle只用NUMBER(m,n)就可以表示任何复杂的数字数据。
e)  decimal,numeric,int等都为SQL、DB2等数据库的数据类型,ORACLE为了兼容才将其引入;但实际上在ORACLE内部还是以NUMBER的形式将其存入。

转载于:https://www.cnblogs.com/goingforward/p/5764504.html

【转】oracle数据库NUMBER数据类型相关推荐

  1. mysql的number类型对应的db2_【转】oracle数据库NUMBER数据类型

    NUMBER ( precision, scale)a)  precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度. b)  如果scale大于零,表 ...

  2. Oracle数据库之数据类型

    Oracle数据库之数据类型 Oracle基本数据类型(亦叫内置数据类型,internal datatypes或built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.L ...

  3. oracle 数据库修改数据类型,保留原来数据

    遇到项目,原来是数据类型不能满足当前需求,要保留旧数据的前提下修改(或扩大)某一列的数据类型 在oracle数据库中,有数据的列是不能被修改的,思路是这样的 (1)在原数据表中增加新列,新列的列名只要 ...

  4. oracle 数据库扩展数据类型长度 32k Strings

    12c开始 VARCHAR2, NAVARCHAR2 以及 RAW 这些数据类型的 大小可以扩展至32K 字节. 能够很大程度缓解之前长度偏少不得不使用CLOB.BLOB的情况. 开启方法: 1.关闭 ...

  5. oracle数据库 number类型,oracle 数据库 NUMBER类型细讲

    1>.NUMBER类型细讲: Oracle number datatype 语法:NUMBER[(precision [, scale])] 简称:precision --> p scal ...

  6. Oracle 与 Mysql 数据类型差异

    目录 1. 整数类型(精确值) 1.1. MySQL 1.1.1. 签名和无符号 1.2. Oracle 2. 定点类型(精确值)--DECIMAL.NUMERIC 3. 浮点类型(近似值)--FLO ...

  7. oracle权限分几种类型,Oracle权限和数据类型

    oracle创建用户: CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK] [注]LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态.锁 ...

  8. Oracle数据库表的基本操作以及空值问题的解决

    文章目录 1.Oracle数据库语言分类: 2.区分delete,drop,truncate?(面试题) 3.常见命令: 4.Oracle数据库的数据类型: 5.null: 6.nvl(字段1,值1) ...

  9. oracle数据库建表语句

    1.一个用户可以有多个角色 2.一个用户可以有多个权限 3.一个权限也可以给多个用户 Oracle 系统默认用户 system:是数据库内置的一个普通管理员 sys:用数据库的超级用户,必须以 sys ...

最新文章

  1. OPPO和微软合作,开放“召唤小冰”
  2. 图像分割 | 训练集输入labe(mask)处理以及类别不均衡的处理-以segnet为例
  3. k-means算法学习1
  4. [郑重声明]木草山人编码的习惯
  5. java密码校验_java强密码校验
  6. 设计模式 C++简单工厂模式
  7. 浅析软件开发项目中的需求分析
  8. 【luogu1967】【noip2013】 货车运输 [生成树kruskal LCA ]
  9. 在线编辑fckeditor3
  10. 2020德勤面试开始了吗_四大面试-德勤面试流程免费给你,还不收好?截止2020年9月...
  11. Python3 抓取微信账单信息
  12. 用AI让逝去的亲人照片动起来后,数百万网友泪目:原来思念这么重
  13. UE 在场景或UMG中播放视频
  14. vuetify 学习第一天之v-data-table_表格组件
  15. 【区块链】【IOT】深度解读物联网区块链“IOTA”:不仅解决IoT痛点,还解决区块链痛点
  16. 【计算机算法】递归——循环日程表
  17. 全球及中国暗箱针孔相机行业竞争格局及十四五投资规划建议报告2021-2027年版
  18. html em加粗,HTML5 :b/strong加粗,i/em倾斜区别
  19. 三星Galaxy S20:打开手势并更改导航栏按钮顺序
  20. Python数据分析学习总结——替代Matlab

热门文章

  1. 浏览器怎么清理缓存_Mac系统浏览器缓存清理工具
  2. 【ES9(2018)】Promise.prototype.finally()
  3. arm nodejs_ARM发布Cortex A78C增强版大核架构
  4. Qt文档阅读笔记-QCompleter官方解析及实例
  5. Fiddler工具杂记-将某些数据收集起来并且发送HTTP数据包
  6. C++|Qt工作笔记-Windows平台下的句柄与Qt中QWindow::winId()以及 QPlatformWindow::handle的区别与联系
  7. MySQL入门之select、from、join、where子句及基本匹配符
  8. input radio 样式
  9. linux arp代理配置,linux下tomcat的arp配置
  10. python如何输入多个数据并增加到一个列表里_python 将表格多个列数据放到同一个单元格中...