测试目的:
解决在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即可。
补充:
其他开发工具如果遇到此类问题,应该也会有相似设置。