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