2017-09-06 21 views
0

私のoracle DBのテーブルに、NUMBERのタイプの列を作成しましたが、この列の作成時に精度と位取りを空白のままにしました。JDBCを使用して負のスケールと精度0を返すOracle DB

java.sqlのResultSetMetadataクラスを使用してカラム情報を取得していたとき、カラム精度が0でスケールが-127であったことがわかりました。

のOracleドキュメントは

精度とスケール指示子が存在しない場合は、Oracle番号の最大範囲及び精度を指定することを言います。

しかし、この場合、どういう意味ですか?精度はどのように0になり、スケールは負の数になりますか?

スケールと精度を別の方法で取得する必要がありますか?

+1

関連(恐らく重複):https://stackoverflow.com/questions/1410267/oracle-resultsetmetadata-getprecision-getscale?rq=1 and https://stackoverflow.com/questions/593197/what-is-the -default-precision-and-a-number-for-oracle?rq = 1 –

+0

ありがとう!これは問題を明らかにしていますが、返されるスケールが-127である理由についてはまだ混乱しています。 – aBrokenSniper

+1

私が知る限り、Oracleは-127を通常のスケールではなく特別な意味を持つシグナルとして使用します。 –

答えて

1

スケールが指定されていない場合、Oracleは-127を返します。これは、JavaDocに記載されています。

関連する問題