首页 > 数据库 >oracle number类型用法

oracle number类型用法

时间:2022-08-24 11:00:38浏览次数:88  
标签:四舍五入 1234567.89 数据类型 Number 整数 number oracle 用法

1.number类型

  number类型是一个可变长度的数据类型,使用四舍五入实现;

  既可以存储整数,也可以存储小数。

2.具体语法

number[(p[, s])]

NUMBER类型可以用来存储0、正数、负数;

数据范围是1×10-130 ~ 1 × 10126 ,不能等于或者大于1 × 10126 ,否则Oracle会报错(算数表达式的结果同理);

一个NUMBER类型的数据会占1~22个字节的数据;

p : 精度位precision,数据的有效位;取值范围[1~38];默认38;*表示38

   s : 小数位scale,小数点右边的位数;取值范围[-84~127];

   当精度超出定义的时候,两者都会做四舍五入操作;

   默认:未指定p,默认s为最大范围;

指定了p,默认s=0,即:number(p) == number(p,0);

换言之就是:

当将字段的数据类型指定成number时,该字段既可以存整数,也可以存小数;

当将字段的数据类型指定成number(p)时,该字段只能存储最大长度=p的整数,不能存小数;

当将字段的数据类型指定成number(p, s)时,该字段最大长度=p,小数位=s,整数位=p-s,当小数位不足时,会自动补零。

最高整数位数=p-s

   s正数,精确到小数点右边s位,四舍五入;

   s负数,精确到小数点左边s位,四舍五入;

   s是0或者未指定,四舍五入到最近整数;

当一个数的整数部分的长度 > p-s 时,Oracle就会报错; 

3.示例

实际值

数据类型

存储值

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)

出错

说明:

在SQLmap文件当中,使用string类型插入到number字段时,不用使用to_number()进行转换,就可以直接插入。

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!

 相关推荐:

标签:四舍五入,1234567.89,数据类型,Number,整数,number,oracle,用法
From: https://www.cnblogs.com/Marydon20170307/p/16619082.html

相关文章

  • Oracle控制文件丢失恢复方法(无备份)
    将数据库控制文件全部删除,模拟数据库控制文件全部丢失且没有备份,然后启动数据SQL>startup;ORACLEinstancestarted.TotalSystemGlobalArea1252663296bytesFix......
  • [Oracle] LeetCode 696 Count Binary Substrings
    Givenabinarystrings,returnthenumberofnon-emptysubstringsthathavethesamenumberof0'sand1's,andallthe0'sandallthe1'sinthesesubstring......
  • 【笔记】oracle using
    oracleusing在oracle中,using用于简化连接查询,只有当查询是等值连接和连接中的列必须具有相同的名称与数据类型时,才能使用using关键字进行简化比如原来是selects.user_......
  • centos8 安装 oracle11 报错(Could not create the Java virtual machine)
    centos8安装oracle11报错TherewasanerrortryingtoinitializetheHPIlibrary.Pleasecheckyourinstallation,HotSpotdoesnotworkcorrectlywheninsta......
  • 经常使用的一些函数及用法
    foriinrange(0,3,2)#i从0到3,每2个数取一次值input("pleaseinputtheage")#输入框,里面填提示信息int("123")#把......
  • 序列化与反序列化的用法
    usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Runtime.Serialization.Formatters.Binary;usingSystem.IO;n......
  • isNaN 与 Number.isNaN 区别
    isNaN()是判断是不是NaN本意是利用Number()方法,尝试将参数转换为Number类型,如果成功返回false,如果失败返回true; Number.isNaN()从外面往......
  • 利用Magic Number进行文件类型强校验实践
    在日常业务开发中,经常会遇到对文件的类型进行校验。文件类型校验可以弱校验,即仅根据文件的后缀名进行类型校验。但是这种校验方式无法识别恶意更改文件后缀名的情况。因此......
  • Java中枚举配合switch语句用法-2022新项目
    一、业务场景项目开发中经常会遇到多条件判断的情况,如果判断条件少的话使用if/elseif/else还比较好处理,如果判断条件多的话,则在使用这种语句就不太合适。如果是自定......
  • Vue3中插槽(slot)用法汇总
    Vue中的插槽相信使用过Vue的小伙伴或多或少的都用过,但是你是否了解它全部用法呢?本篇文章就为大家带来Vue3中插槽的全部用法来帮助大家查漏补缺。什么是插槽简单来说就是......