oracle中number的用法,Oracle Number数字

oracle中number的用法,Oracle Number数字oracle函数的OracleNumber数字在本教程中,您将学习OracleNUMBER数据类型以及如何使用它来为表定义数字列。OracleNUMBER数据类型简介OracleNUMBER数据类型用于存储可能为负值或正值的数值。以下说明了NUMBER数据类型的语法:NUMBER[(precision[,scale])]OracleNUMBER数据类型具有以下精度和尺度。精度是一…

大家好,又见面了,我是你们的朋友全栈君。

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数据类型以及如何使用它来为表定义数字列。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/163890.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ue4安装插件_ue4 软引用

    ue4安装插件_ue4 软引用原创文章,转载请注明出处。本文介绍两个知识点Plugin/Module插件和模块的联系区别,同时介绍插件和我们的Source中创建多模块。**一、Plugin/Module插件和模块的联系区别**1>一个插件至少有一个模块2>一般插件都是做底层做通用设计的,而模块做的负责的我理解为逻辑ProjectName.Build.cs //主要管理的是链接,dll的链接ProjectName.Target.cs //管理的是编译,加上才会编译你的Module,如果你是run

    2022年10月4日
    1
  • journalctl 日志查看方法

    journalctl 日志查看方法1概述日志管理工具journalctl是centos7上专有的日志管理工具,该工具是从message这个文件里读取信息。Systemd统一管理所有Unit的启动日志。带来的好处就是,可以只用journalctl一个命令,查看所有日志(内核日志和应用日志)。日志的配置文件是/etc/systemd/journald.confjournalctl功能强大,用法非常多。本文将介绍journalctl的相关使用方法。2journalctl使用方法.查看所有日志默认情况下,只保存本…

    2022年5月24日
    33
  • java的serializable接口_javacloneable接口

    java的serializable接口_javacloneable接口Cloneable接口clone:它允许在堆中克隆出一块和原对象一样的对象,并将这个对象的地址赋予新的引用。Java中一个类要实现clone功能必须实现Cloneable接口,否则在调用clone()时会报CloneNotSupportedException异常。Java中所有类都默认继承java.lang.Object类,在java.lang.Object类中有一个方法clon

    2022年10月14日
    2
  • 初级程序员如何提升自己(程序员的成长之路)

    入职后如何快速成长到CTO入职后三个月试用期要做的事三法宝,处理同事关系核心两点,处理好领导关系每件事都是学习的机会主动加班,试用期加班是学习的好机会未通过试用期,如何应对?前三年需要学的技术工作后,千万不要停止学习项目经验如何累积?JAVA高级技术还需要学习哪些?架构师课程如何学习?工作中,快速学习新技术的捷径(重要的是形成体系,而不是钻到某个技术点)…

    2022年4月13日
    51
  • 生成mysql亿级压测数据程序

    生成mysql亿级压测数据程序

    2021年5月15日
    119
  • 逻辑回归原理_逻辑回归分析

    逻辑回归原理_逻辑回归分析逻辑回归原理

    2022年4月21日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号