oracle函数 的 Oracle Number数字

在本教程中,您将学习Oracle NUMBER数据类型以及如何使用它来为表定义数字列。

Oracle NUMBER数据类型简介

Oracle NUMBER数据类型用于存储可能为负值或正值的数值。以下说明了NUMBER数据类型的语法:

NUMBER[(precision [, scale])]

Oracle NUMBER数据类型具有以下精度和尺度。

精度是一个数字中的位数。 范围从1到38。

尺度是数字中小数点右侧的位数。 范围从-84到127。

例如,数字1234.56的精度是6,尺度是2。所以要存储这个数字,需要定义为:NUMBER(6,2)。

精度和尺度都是十进制数字,可选。 如果跳过精度和小数位,Oracle使用数字的最大范围和精度。

例如,下面的表格定义了一个可以存储数值的数字,其数值范围和精度都是最大的:

NUMBER

以下语法定义了一个定点数字:

NUMBER(p,s)

要定义一个整数,可以使用下面的形式:

NUMBER(p)

上面表示一个精度为p,尺度为零的定点数,相当于如下:

NUMBER(p,0)

Oracle允许规模为负数,例如,下面的数字将数值四舍五入到数百。

NUMBER(5,-2)

请注意,如果在NUMBER(p,s)列中数字,并且数字超过精度p,则Oracle将发出错误。 但是,如果数量超过尺度s,则Oracle将对该值进行四舍五入。

Oracle NUMBER数据类型示例

以下语句创建一个名为number_demo的表,该表由Number数字列组成:

CREATE TABLE number_demo (

number_value NUMERIC(6, 2)

);

以下INSERT语句向number_demo表中插入三个数字:

INSERT INTO number_demo

VALUES(100.99);

INSERT INTO number_demo

VALUES(90.551);

INSERT INTO number_demo

VALUES(87.556);

在上面的示例中,

第一个值被插入成功,因为该数字在列的定义范围内。

第二个值向下取整,第三个值向上取整,因为该列只接受带有两个小数点的数字。

以下示例插入number_value可以接受的最大值和最小值:

INSERT INTO number_demo

VALUES(9999.99);

INSERT INTO number_demo

VALUES(-9999.99);

以下示例会导致错误,因为插入的值超出了为列定义的精度。

INSERT INTO number_demo

VALUES(-10000);

考虑下面的例子:

INSERT INTO number_demo

VALUES(9999.999);

在此示例中,该值被四舍五入,因为数字超过了为列定义的精度。

Oracle NUMBER数据类型别名

Oracle包含许多可用于定义数字列的别名,如下表所示:

ANSI数据类型

Oracle NUMBER数据类型

INT

NUMBER(38)

SMALLINT

NUMBER(38)

NUMBER(p,s)

NUMBER(p,s)

DECIMAL(p,s)

NUMBER(p,s)

请注意,INT,SMALLINT,NUMERIC和DECIMAL只是别名。它们不是真正的数据类型。 Oracle在内部将这些别名映射到相应的NUMBER数据类型。

在本教程中,您已经学习了Oracle NUMBER数据类型以及如何使用它来为表定义数字列。

oracle中number的用法,Oracle Number数字相关推荐

  1. oracle中col 的用法,Oracle中的SUM用法讲解,

    Oracle中的SUM用法讲解, Oracle中的SUM条件查询 1.按照区域编码分组查询区域编码.IPTV_NBR不为空的数量.ACC_NBR不为空的数量.所有用户数量 SELECT AREA_CO ...

  2. oracle数据库insert into,oracle中insert into用法 oracle中insert如何带条件添加数据?

    oracle insert into 脚本怎么写 INSE INTO BOOK(bookid,name,price) VALUES('100123','oracle ',54); 或者 INSE IN ...

  3. oracle中的and用法,Oracle bitand( )函数简介

    Oracle bitand( )函数在Oracle数据库中是很常见的,下面就为您详细介绍Oracle bitand( )函数的用法,如果您感兴趣的话,不妨一看. Oracle bitand( )函数: ...

  4. oracle中pivot的用法,oracle中pivot的实现原理和用法

    考试大Oracle站整理: 1. 11g之前的行列转换面试 领袖又说了:"温故而知新".那就让咱们先看看11g之前是怎么实现地.行列转换一直看成甄别老手和新手的试金石,面试的时候面 ...

  5. oracle中col 的用法,Oracle All

    oracle函数 的 Oracle All 在本教程中,您将学习如何使用Oracle ALL运算符将值与列表或子查询进行比较. Oracle ALL操作符简介 Oracle ALL操作符用于将值与返回 ...

  6. oracle中least的用法,oracle中的greatest 函数和 least函数

    1           语法 GREATEST(expr_1, expr_2, ...expr_n) 2           说明 GREATEST(expr_1, expr_2, ...expr_n ...

  7. oracle中同义词的用法,Oracle中使用同义词介绍

    一.背景 有两个sid:Asid,Bsid,在Asid下有两个用户Auser1,Auser2,在Bsid下有一个用户Buser1.其中Auser2和Buser1建立了dblink.现希望通过登录Bus ...

  8. oracle中的split用法,oracle中split的使用

    1.创建自己的类型 VARCHAR2ARRAY CREATE OR REPLACE TYPE "VARCHAR2ARRAY" as table of varchar2(300); ...

  9. oracle中类似indexof用法_instr函数

    oracle中类似indexof用法_instr函数 [sql] 在oracle中没有indexof()函数 但是提供了一个 instr() 方法 具体用法: select instr('保定市南市区 ...

  10. Oracle中group by用法

    Oracle中group by用法 在select 语句中可以使用group by 子句将行划分成较小的组,一旦使用分组后select操作的对象变为各个分组后的数据,使用聚组函数返回的是每一个组的汇总 ...

最新文章

  1. @ConditionalOnMissingBean注解理解
  2. c:forEach varStatus=status中 varStatus的属性简介
  3. 关于大家对Swin Transformer的魔改论文模型记录(只关注Swin是如何使用的)
  4. 被坑的过来人告诉你,为什么数据中台永远都搞不成?
  5. [20160803]另类行迁移.txt
  6. Linux下JAVA线程占用CPU高的分析方法
  7. 算法:回文数字9. Palindrome Number
  8. 【springboot】自动整合Tomcat原理
  9. emoji字符串 php,使用emoji字符组成任意汉字
  10. 任正非写给员工的信 - 要快乐地度过充满困难的一生
  11. 【小程序】安卓端InnerAudioContext无法销毁
  12. java面试被虐记录
  13. Android USB串口打印结账单小票
  14. gcc利用-m32编译报错问题处理
  15. 递归算法及经典递归实现
  16. FIAS互动分析系统
  17. 1Mbps的ECS服务器能干嘛?
  18. Android Q(10.0)上IMEI获取不到;Android Q(10.0)上OAID替代IMEI;OAID获取方式
  19. Android关键知识点详解
  20. 学校计算机及班班通工作责任书,市北区qut班班通qut计算机管理使用规定细则.doc...

热门文章

  1. 文件转换和操作的一些在线网页
  2. 9个方法,教你用Google Drive做好云端档案管理
  3. Pr---文字过多时显示不全和背景音乐过度处理(简单记录)
  4. android高仿朋友圈,高仿微信朋友圈图片展示效果 ImageWatcher
  5. 换硬币 (20 分)
  6. CVPR2021:单目实时全身动作捕捉(清华大学)
  7. 电桥的原理,及非线性误差
  8. *rock ,scissors ,paperpku 2339
  9. 双绞线有两种接法:EIA/TIA 568B标准和EIA/TIA 568A标准。具体接法如下:
  10. 基于FPGA的LVDS接口设计