【转】oracle数据库NUMBER数据类型
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数据类型相关推荐
- mysql的number类型对应的db2_【转】oracle数据库NUMBER数据类型
NUMBER ( precision, scale)a) precision表示数字中的有效位;如果没有指定precision的话,Oracle将使用38作为精度. b) 如果scale大于零,表 ...
- Oracle数据库之数据类型
Oracle数据库之数据类型 Oracle基本数据类型(亦叫内置数据类型,internal datatypes或built-in datatypes)可以按类型分为:字符串类型.数字类型.日期类型.L ...
- oracle 数据库修改数据类型,保留原来数据
遇到项目,原来是数据类型不能满足当前需求,要保留旧数据的前提下修改(或扩大)某一列的数据类型 在oracle数据库中,有数据的列是不能被修改的,思路是这样的 (1)在原数据表中增加新列,新列的列名只要 ...
- oracle 数据库扩展数据类型长度 32k Strings
12c开始 VARCHAR2, NAVARCHAR2 以及 RAW 这些数据类型的 大小可以扩展至32K 字节. 能够很大程度缓解之前长度偏少不得不使用CLOB.BLOB的情况. 开启方法: 1.关闭 ...
- oracle数据库 number类型,oracle 数据库 NUMBER类型细讲
1>.NUMBER类型细讲: Oracle number datatype 语法:NUMBER[(precision [, scale])] 简称:precision --> p scal ...
- Oracle 与 Mysql 数据类型差异
目录 1. 整数类型(精确值) 1.1. MySQL 1.1.1. 签名和无符号 1.2. Oracle 2. 定点类型(精确值)--DECIMAL.NUMERIC 3. 浮点类型(近似值)--FLO ...
- oracle权限分几种类型,Oracle权限和数据类型
oracle创建用户: CREATE USER 用户名 IDENTIFIED BY 口令 [ACCOUNT LOCK|UNLOCK] [注]LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态.锁 ...
- Oracle数据库表的基本操作以及空值问题的解决
文章目录 1.Oracle数据库语言分类: 2.区分delete,drop,truncate?(面试题) 3.常见命令: 4.Oracle数据库的数据类型: 5.null: 6.nvl(字段1,值1) ...
- oracle数据库建表语句
1.一个用户可以有多个角色 2.一个用户可以有多个权限 3.一个权限也可以给多个用户 Oracle 系统默认用户 system:是数据库内置的一个普通管理员 sys:用数据库的超级用户,必须以 sys ...
最新文章
- OPPO和微软合作,开放“召唤小冰”
- 图像分割 | 训练集输入labe(mask)处理以及类别不均衡的处理-以segnet为例
- k-means算法学习1
- [郑重声明]木草山人编码的习惯
- java密码校验_java强密码校验
- 设计模式 C++简单工厂模式
- 浅析软件开发项目中的需求分析
- 【luogu1967】【noip2013】 货车运输 [生成树kruskal LCA ]
- 在线编辑fckeditor3
- 2020德勤面试开始了吗_四大面试-德勤面试流程免费给你,还不收好?截止2020年9月...
- Python3 抓取微信账单信息
- 用AI让逝去的亲人照片动起来后,数百万网友泪目:原来思念这么重
- UE 在场景或UMG中播放视频
- vuetify 学习第一天之v-data-table_表格组件
- 【区块链】【IOT】深度解读物联网区块链“IOTA”:不仅解决IoT痛点,还解决区块链痛点
- 【计算机算法】递归——循环日程表
- 全球及中国暗箱针孔相机行业竞争格局及十四五投资规划建议报告2021-2027年版
- html em加粗,HTML5 :b/strong加粗,i/em倾斜区别
- 三星Galaxy S20:打开手势并更改导航栏按钮顺序
- Python数据分析学习总结——替代Matlab
热门文章
- 浏览器怎么清理缓存_Mac系统浏览器缓存清理工具
- 【ES9(2018)】Promise.prototype.finally()
- arm nodejs_ARM发布Cortex A78C增强版大核架构
- Qt文档阅读笔记-QCompleter官方解析及实例
- Fiddler工具杂记-将某些数据收集起来并且发送HTTP数据包
- C++|Qt工作笔记-Windows平台下的句柄与Qt中QWindow::winId()以及 QPlatformWindow::handle的区别与联系
- MySQL入门之select、from、join、where子句及基本匹配符
- input radio 样式
- linux arp代理配置,linux下tomcat的arp配置
- python如何输入多个数据并增加到一个列表里_python 将表格多个列数据放到同一个单元格中...