为什么Oracle数据库中数据类型号的范围是38?

问题描述

我看过oracle docs,数据库中数据类型“数字”的范围是38,这是最大范围。

我用它搜索了一下,除了38是业力法则,守护天使...

您介意解释为什么数字范围是38吗?

谢谢!

解决方法

这是精度(与业力天使无关)。

Documentation说数字的格式为NUMBER [ (p [,s]) ]

具有精度p和小数位数s的数字。精度p的范围可以是1到38。小数位数s的范围可以是-84到127。精度和小数位数都是十进制数字。 NUMBER值需要1到22个字节。

精度是数字中的位数。例如,数字123.455位数字,因此其精度为5

小数位数是小数点右边的位数;在此示例中,45使2位数字,因此小数位数为2

这意味着(如果我们假设数字看起来像那样)您创建的表将看起来像

create table (some_value   NUMBER (5,2));   --> precision 5,scale 2

如果您违反精度,Oracle将引发错误。另一方面,您可以违反规模-在这种情况下,Oracle将舍入该值。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...