Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
数値列を持つ Oracle テーブルに値 1E19 が表示されます。この値を number(20,5) とマークされた別の列に挿入しようとすると、失敗します。長さを見ると、1E19 の長さは 19 と表示されているため、それが失敗の理由です (>15)。1E19 = 1 の後に 18 個のゼロが続く値も同様です。Oracle でリテラル値を確認するにはどうすればよいですか?
列の値を保持するには、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/