日期:2014-05-16  浏览次数:20440 次

ORACLE中科学计数法显示问题的解决

测试目的:

  解决在ORACLE使用中遇到的科学计数法问题。

  测试环境:


  SQL> select * from v$version
  2 where rownum < 2;
  BANNER
  ----------------------------
  Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi


  实验:


  1 SQL*PLUS下
  SQL> select to_number('1234567891') from dual;
  TO_NUMBER('1234567891')
  -----------------------
  1234567891
  SQL> select to_number('12345678912') from dual;
  TO_NUMBER('12345678912')
  ------------------------
  1.2346E+10
  SQL> show numw
  numwidth 10
  SQL> set numw 15
  SQL> select to_number('12345678912') from dual;
  TO_NUMBER('12345678912')
  ------------------------
  12345678912
  SQL> select to_number('123456789123456') from dual;
  TO_NUMBER('123456789123456')
  ----------------------------
  123456789123456
  SQL> select to_number('1234567891234567') from dual;
  TO_NUMBER('1234567891234567')
  -----------------------------
  1.234567891E+15


  2 开发工具PLSQL DEVELOPER

  默认情况下在PLSQL DEVELOPER中的NUMW为15(没有找到设置位数的配置),如果想要打破这中控制,修改方式如下:

  TOOLS->PREFERENCES->WINDOW TYPE->SQL WINDOW下选中Number fields to_char即可。

  补充:

  其他开发工具如果遇到此类问题,应该也会有相似设置。