我使用的是Oracle SQL Developer版本4.0.3,并且我有一个大约1e-13的数字,所以将它显示为0.0000000000001 ...会不方便...
我无法找到任何改变此行为的选项,我想要的是与此问题相反的内容,但对于Oracle SQL开发人员: How to set numwidth in the grid output of PL/SQL developer?
我找不到类似的东西,有人知道这是否可能?
答案 0 :(得分:1)
to_char(<your number column>, '9.9EEEE')
在SQL Developer 4中:
我无法看到任何方式全局应用模型,正如您链接到的问题所接受的答案所示 - 当前版本的SQL Developer似乎没有像PL这样的首选项下的“SQL窗口”部分/ SQL Developer呢。但您可能不希望将模型应用于每个结果集中的每个数字。
答案 1 :(得分:0)
使用TO_CHAR(1e-13, '0.9999999999999');
。您需要检查正确的格式模型以将科学记数法转换为字符串。我使用'。',您也可以使用'D'作为小数点分隔符,但这取决于您的NLS_NUMERIC_CHARACTER。
请在此处查看不同的数字格式http://www.java2s.com/Tutorial/Oracle/0300__Conversion-Functions/FormatParameters.htm
更新我最初回答了与要求相反的情况,即从科学记数法转换为常规数字格式。更新是关于将数字转换为科学记数法。
在SQL Developer
中,你会看到类似这样的内容:
在SQL*Plus
中,相同的SQL
会将数字转换为科学记数法。
SQL> WITH DATA AS(
2 SELECT to_number('0.0000000000001','0.99999999999999') num FROM dual
3 )
4 SELECT to_char(num, '9.9EEEE') num
5 FROM DATA;
NUM
---------
1.0E-13
SQL>
没有格式,
SQL> WITH DATA AS(
2 SELECT to_number('0.0000000000001','0.99999999999999') num FROM dual
3 )
4 select num from data;
NUM
----------
1.0000E-13
SQL>