0

数値列を持つ Oracle テーブルに値 1E19 が表示されます。この値を number(20,5) とマークされた別の列に挿入しようとすると、失敗します。長さを見ると、1E19 の長さは 19 と表示されているため、それが失敗の理由です (>15)。1E19 = 1 の後に 18 個のゼロが続く値も同様です。Oracle でリテラル値を確認するにはどうすればよいですか?

4

1 に答える 1

0

列の値を保持するには、NUMWIDTH から SQL セッション値を設定する必要があります。

SQL> SET NUMWIDTH 40
SQL> SELECT n
  2  FROM   t
  3  WHERE  n BETWEEN 12345678901234567800
  4               AND 12345678901234567900
  5  /
                                    N
----------------------------------------
                12345678901234567890

これはあなたを助けるはずです:

http://www.orafaq.com/forum/t/9660/2/

于 2013-03-25T05:23:07.047 に答える