Oracle NUMBER数据类型最大限制,带和不带小数点

问题描述

我在应用程序中有一个数字字段,该字段将数字值传递给NUMBER数据类型的Oracle过程。数值可以为正,负或带小数点的数字。

我需要从应用程序中限制它,因此我需要指定最大限制而不进行四舍五入。请问正数,负数,有小数点和无小数点的限制是什么。

解决方法

这实际上不是允许的范围,而是精度。无论小数点分隔符是否在何处,您都可以传递最多38位数字。

好的:

+12345678901234567890123456789012345678
-12345678901234567890123456789012345678
+1.2345678901234567890123456789012345678
-1234567890123456789012345678901234567.8

可能会被肢解:

+123456789012345678901234567890123456789
-123456789012345678901234567890123456789
+1.23456789012345678901234567890123456789
-1234567890123456789012345678901234567.89

具有更长数字的演示:https://dbfiddle.uk/?rdbms=oracle_18&fiddle=aa74ef09157dcf86daa76507e868fe49

相关问答

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