2017-09-06 74 views
0

我在oracle数据库中创建了一个类型为NUMBER的表中的列,但在创建此列时,我将精度和缩放比例留空。Oracle DB使用JDBC返回负值和0精度

当我使用java.sql的ResultSetMetadata类来获取列信息时,我得到了列精度为0,标度为-127。

Oracle的文档说

缺乏精度和标度指示器的指定为Oracle数的最大范围和精度。

但这在这种情况下意味着什么?精度如何返回等于0并且缩放为负数?

我应该以不同的方式获得比例和精度吗?

+1

相关(可能重复):https://stackoverflow.com/questions/1410267/oracle-resultsetmetadata-getprecision-getscale?rq=1和https://stackoverflow.com/questions/593197/what-is-the -default-precision-and-scale-for-a-number-in-oracle?rq = 1 –

+0

谢谢!这确实揭示了这个问题,但我仍然困惑于为什么返回的规模是-127。 – aBrokenSniper

+1

据我所知,Oracle使用-127作为一个信号,表明它不是一个正常的尺度,但具有特殊的含义。 –

回答

1

Oracle在未指定比例时返回-127。这是在:JavaDoc中提到的。