oracle number类型用法 20255286编辑

Heaven helps those who help themselves
资深码农+深耕理财=财富自由
欢迎关注

oracle number类型用法

Created by Marydon on 2022-08-24 10:54

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()进行转换,就可以直接插入。

写在最后

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

 相关推荐:

与君共勉:最实用的自律是攒钱,最养眼的自律是健身,最健康的自律是早睡,最改变气质的自律是看书,最好的自律是经济独立 。

您的一个点赞,一句留言,一次打赏,就是博主创作的动力源泉!

↓↓↓↓↓↓写的不错,对你有帮助?赏博主一口饭吧↓↓↓↓↓↓

posted @   Marydon  阅读(5286)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
历史上的今天:
2020-08-24 SpringBoot整合JSP一站式解决方案
2018-08-24 java 判断String字符串是不是json数据
2017-08-24 URL中的#
2017-08-24 js实现页面跳转的两种方式
点击右上角即可分享
微信分享提示
sorry,本博客所有代码禁止复制,原创代码需扫码支付方可获取!
关闭

1、先加好友再付费,点我加好友;

2、代码不能满足你的需求?加好友付费定制你的专属代码!

3、付费标准及方式,点我查看详情。