Oracle NUMBER类型可以接受的最大值是多少?

news/2024/10/22 9:48:26

首发微信公众号:SQL数据库运维

原文链接:https://mp.weixin.qq.com/s?__biz=MzI1NTQyNzg3MQ==&mid=2247486498&idx=1&sn=9c2cc6490d3799117366910ef95fbd42&chksm=ea375852dd40d14465adc718841c288fa8941aaf772a8957af9c4107e2d70841b80e5c9a3d98&token=74830047&lang=zh_CN#rd


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_demoVALUES(100.99);
INSERT INTO number_demoVALUES(90.551);
INSERT INTO number_demoVALUES(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包含许多可用于定义数字列的别名,如下表所示:

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


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/72320.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

开发者故事:基于 KubeSphere LuBan 架构打造下一代云交付平台

前言 在 KubeSphere Marketplace,个人开发者的创意和才能正在逐渐崭露头角。今日,我们荣幸地向大家介绍 Shipper 云交付平台的开发者——凌波,一位云原生领域的资深专家。 凌波巧妙融合 KubeSphere 平台的特性,通过原生适配的精湛技艺,匠心独运地打造了 Shipper 平台。现在…

通义灵码介绍

通义灵码,是基于通义大模型的智能编程辅助工具,提供行级/函数级实时续写、自然语言生成代码、单元测试生成、代码优化、注释生成、代码解释、研发智能问答、异常报错排查等能力,并针对阿里云的云服务使用场景调优,助力开发者高效、流畅地编码。 核心场景 代码智能生成 经过…

基于ROS2的智能协同系统

基于ROS2的智能协同系统 任务一: 基础任务配置ubuntu环境,注意ROS版本与ubuntu版本间的对应关系安装ROS 2框架使用Publisher-Subscriber结构,完成两个node节点间传输数据功能传输文字与视频STEP: 配置Ubuntu环境 安装VMware 安装虚拟机(VMware)保姆级教程(附安装包)_vmwa…

客服系统结束对话,拉黑用户,拉黑用户IP功能

我们做在线客服系统,经常遇到有来捣乱的人,在我们的对话框页面胡乱发言 或者辱骂客服人员,我们客服系统支持将这个对话结束,把这个人来黑,把他的IP拉黑的功能 针对捣乱的人,可以一键三连,对方再也不能废话 gofly.v1kf.com 十年开发经验程序员,离职全心创业中,历时三年…

倒排索引

什么是倒排索引 倒排索引(Inverted Index)也叫反向索引,有反向索引必有正向索引。通俗地来讲,正向索引是通过key找value,反向索引则是通过value找key。 倒排索引的结构 倒排索引通常包含两个主要部分: 词项字典(Term Dictionary):存储所有词项及其相关信息(如词频、位…

vite+ts搭建的项目,@配置失效的解决办法

今天创建新项目,按照往常的管理去配置@别名安装依赖:因为path是node中的模块,node又不支持ts,所以:yarn add @types/node 或者 npm i @types/node然后进vite.config.ts,添加添加@别名 resolve: {alias: {@: resolve(__dirname, src)}}其实到这里,就可以使用@符号了,但仅…

点阵数码管显示屏驱动VK16K33C SOP20高亮LED数显屏驱动芯片,内置RC振荡器, I2C通讯接口

产品品牌:永嘉微电/VINKA 产品型号:VK16K33C 封装形式:SOP20 概述 VK16K33C是一种带按键扫描接口的数码管或点阵LED驱动控制专用芯片,内部集成有数据锁 存器、键盘扫描、LED 驱动模块等电路。数据通过I2C通讯接口与MCU通信。SEG脚接LED阳 极,GRID脚接LED阴极,可支持8SEGx…