问题描述
我在应用程序中有一个数字字段,该字段将数字值传递给NUMBER数据类型的Oracle过程。数值可以为正,负或带小数点的数字。
我需要从应用程序中限制它,因此我需要指定最大限制而不进行四舍五入。请问正数,负数,有小数点和无小数点的限制是什么。
解决方法
这实际上不是允许的范围,而是精度。无论小数点分隔符是否在何处,您都可以传递最多38位数字。
好的:
+12345678901234567890123456789012345678 -12345678901234567890123456789012345678 +1.2345678901234567890123456789012345678 -1234567890123456789012345678901234567.8
可能会被肢解:
+123456789012345678901234567890123456789 -123456789012345678901234567890123456789 +1.23456789012345678901234567890123456789 -1234567890123456789012345678901234567.89
具有更长数字的演示:https://dbfiddle.uk/?rdbms=oracle_18&fiddle=aa74ef09157dcf86daa76507e868fe49