如何以正确的格式在oracle中假脱机一个数字
How to spool a number in oracle in correct format
我正在尝试通过在 SqlDeveloper 中执行脚本来假脱机记录,除了打印数据类型为 NUMBER(38,0) 的列的记录外,一切正常。
所有号码记录都按以下格式打印:
1.5E+18
我使用 set 尝试了很多组合,但没有任何效果。
可以使用to_char
;例如:
SQL> select to_char(n, '999999999999999999999') from numbers;
TO_CHAR(N,'99999999999
----------------------
1500000000000000000
这样您就可以决定要使用的确切格式;例如:
SQL> select to_char(n, 'FM999G999G999G999G999G999G999G999') from numbers;
TO_CHAR(N,'FM999G999G999G999G999
--------------------------------
1.500.000.000.000.000.000
如果您不需要完全控制格式,and/or您不想修改您的代码,您可以遵循 Nicholas Krasnov 的建议:
SQL> set numwidth 50
SQL> select n from numbers;
N
--------------------------------------------------
1500000000000000000
我正在尝试通过在 SqlDeveloper 中执行脚本来假脱机记录,除了打印数据类型为 NUMBER(38,0) 的列的记录外,一切正常。
所有号码记录都按以下格式打印:
1.5E+18
我使用 set 尝试了很多组合,但没有任何效果。
可以使用to_char
;例如:
SQL> select to_char(n, '999999999999999999999') from numbers;
TO_CHAR(N,'99999999999
----------------------
1500000000000000000
这样您就可以决定要使用的确切格式;例如:
SQL> select to_char(n, 'FM999G999G999G999G999G999G999G999') from numbers;
TO_CHAR(N,'FM999G999G999G999G999
--------------------------------
1.500.000.000.000.000.000
如果您不需要完全控制格式,and/or您不想修改您的代码,您可以遵循 Nicholas Krasnov 的建议:
SQL> set numwidth 50
SQL> select n from numbers;
N
--------------------------------------------------
1500000000000000000