oracle中number的用法,Oracle Number数字

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

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值