ORACLE 數字型別(number)的值長時,科學計數顯示問題

startay發表於2016-05-27

ORACLE預設情況下,小於等於10位的精度顯示的是很直觀的形式,大於10位精度的則顯示為科學計數的形式。


  1. 10:47:56 sys@ORA11GR2> select FILE# ,CHECKPOINT_CHANGE#*10000 from v$datafile;

  2.      FILE# CHECKPOINT_CHANGE#*10000
  3. ---------- ------------------------
  4.          1 2.5910E+10
  5.          2 2.5910E+10
  6.          3 2.5910E+10
  7.          4 2.5910E+10
  8.          5 2.5910E+10
  9.          8 2.5910E+10
  10.          9 2.5910E+10
  11.         10 2.5910E+10

  12. 8 rows selected.

  13. Elapsed: 00:00:00.01
  14. 10:55:31 sys@ORA11GR2> show numwidth    <--預設numwidth引數是10
  15. numwidth 10
  16. 10:55:36 sys@ORA11GR2> set numwidth 20  <--將引數設定為20
  17. 10:55:43 sys@ORA11GR2> select FILE# ,CHECKPOINT_CHANGE#*10000 from v$datafile;

  18.                FILE# CHECKPOINT_CHANGE#*10000
  19. -------------------- ------------------------
  20.                    1 25910210000
  21.                    2 25910210000
  22.                    3 25910210000
  23.                    4 25910210000
  24.                    5 25910210000
  25.                    8 25910210000
  26.                    9 25910210000
  27.                   10 25910210000

  28. 8 rows selected.

此外對於一些Oracle的軟體,如Toad和PL/SQL Developer也會存在這樣的顯示問題,預設情況下這兩個工具的numwidth設定都是15,也給我們帶來了一些不變,可以透過以下方法:
toad中->view->option->data->display large number in scientific notation,不選擇該選項即可
pl/sql developer中->tools->preferences->sql windows->number fields tochar,選中該選項即可。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/17086096/viewspace-2107805/,如需轉載,請註明出處,否則將追究法律責任。

相關文章