专栏首页颍川Oracle数据类型之number

Oracle数据类型之number

Oracle数据类型之number

oracle的number类型是oracle的内置类型之一,是oracle的最基础数值数据类型。在9iR2及其以前的版本中只支持一种适合存储数值数据的固有数据类型,在10g以后,才出现了两种新的数值类型,即推出本地浮点数据类型(Native Floating-Point Data Types): BINARY_FLOAT(单精度32位)和BINARY_DOUBLE(双精度64位). 这些新数据类型都是基于IEEE二进制浮点运算标准,ANSI/IEEE Std 754-1985 [IEEE 754],使用这些类型时要加上文字f(BINARY_FLOAT)或者d(BINARY_DOUBLE),比如2.07f、3.000094d。

number数据类型

  • number类型的语法很简单:number(p,s): p:精度位,precision,是总有效数据位数,取值范围是38,默认是38,可以用字符*表示38。

s:小数位,scale,是小数点右边的位数,取值范围是-84~127,默认值取决于p,如果没有指定p,那么s是最大范围,如果指定了p,那么s=0。

number类型的p和s,与其底层存储完全没有关系,根本不会影响数据在磁盘上如何存储,它只会影响允许哪些值以及数值如何舍入,你可以认为其是对数据的“编辑”。简单的说,精度位p表示数值最多能有多少个有效数字,而小数位s表示最多能有多少位小数。换句话说,p表示一共有多少位有效数字(即小数点左边最多有p-s位有效数字),s表示小数点右边有s位有效数字。如number(5,2)类型的数据,就表示小数点左边最多有3位有效数字,右边最多有2位有效数字,加起来就是最多有5位有效数字,超过这个范围的数字就不能正确的存储下来,注意这里说的是不能正确存储,但并不是不能存储。

  • 最高整数位数=p-s s正数,小数点右边指定位置开始四舍五入 s负数,小数点左边指定位置开始四舍五入 s是0或者未指定,四舍五入到最近整数 当p小于s时候,表示数字是绝对值小于1的数字,且从小数点右边开始的前s-p位必须是0,保留s位小数。
  • p>0,对s分2种情况:
    1. s>0 精确到小数点右边s位,并四舍五入。然后检验有效数位是否<=p;如果s>p,小数点右边至少有s-p个0填充。
    2. s<0 精确到小数点左边s位,并四舍五入。然后检验有效数位是否<=p+|s|

里面发生错误的行有的是因为源数据超过了可以表示的范围,有的是因为进行小数四舍五入后超过了可以表示的范围。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 计算机思维--0和1与逻辑

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

    颍川
  • Java数据结构与算法--简单排序

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    颍川
  • Solr搜索服务的搭建(Liunx)

    颍川
  • mybatis学习之分页

    分页一般分为物理分页:先查询所有值再分页输出,逻辑分页:直接分页查询输出,mybatis支持物理分页,如下: 1、物理分页: mapper映射: <select...

    用户1141560
  • 【爬虫】(一):爬网页、爬图片、自动登录

    HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。 用于从WWW服务器传输超文本到本地浏览器的传送协议。

    一点儿也不潇洒
  • APT这件事,美国现在有点慌...

    6月28日,美国众议院外交事务委员会通过“2018网络威慑与响应法案”(H. R. 5576),要求美国总统确认高级持续威胁(APT)组织名单,并在《联邦公报》...

    安恒信息
  • 区块链和金融包容性

    这篇简短的文章概述了区块链如何影响金融普惠和“将钱存入无银行账户”。本章有两个部分:

    用户1206576
  • 华为面试题——约瑟夫问题的C++简单实现(循环链表)

    /*     author:jiangxin     Blog:http://blog.csdn.net/jiangxinnju     Function...

    用户1221057
  • 京东金融副总裁曹鹏:不做“浮冰”,深挖AI技术和场景 | AI聚变

    典型的技术人士似乎都有一种“Talk is cheap, show me the code.”的气质,在与京东金融技术副总裁曹鹏交谈的过程中,当他一开始就说出“...

    AI科技大本营
  • 【2019年8月版】OCP 071认证考试原题-第35题

    Which two statenents are tue about the COUNT function?

    用户5892232

扫码关注云+社区

领取腾讯云代金券