2017-09-06 43 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中提到的。