【问题标题】:How to set numwidth in the grid output of PL/SQL developer?如何在 PL/SQL 开发人员的网格输出中设置 numwidth?
【发布时间】:2010-10-31 12:56:38
【问题描述】:

我在 PL/SQL Developer 中运行一些查询,结果中的一列有 18 位数字。 PL/SQL Developer 不会在结果网格中显示整个数字,而是仅以科学计数法显示 15 位数字。

我试图找到一种方法在程序的首选项中更改它,以便我可以看到整个数字,就像set numwidth 在 SQL*Plus 中所做的那样。但我的搜索是徒劳的。

如何更改此设置?

【问题讨论】:

    标签: sql oracle plsqldeveloper


    【解决方案1】:

    事实证明这可能的!!!

    工具 -> 首选项 -> SQL 窗口 -> 数字字段 to_char

    【讨论】:

    • 有谁知道,Oracle SQL Developer Studio 4.0 中的这个设置在哪里?
    • 嗯...这对我没有影响
    【解决方案2】:

    使用to_char,然后你得到所有的数字:

    select to_char ( t.reference_nr), t.reference_nr from rss_ing_cc_imp t
    1   95209140353000001009592 9,5209140353E22
    2   25546980354901372045601 2,55469803549014E22
    3   75203220356000583867347 7,52032203560006E22
    4   25546980357904327000017 2,55469803579043E22
    5   95209140358000000700337 9,5209140358E22
    6   95209140359000000596387 9,5209140359E22
    7   25546980361131086003511 2,55469803611311E22
    8   25546980361901390031808 2,55469803619014E22
    9   85207130362051881964326 8,52071303620519E22
    10  95209140363000000634885 9,5209140363E22
    11  25546980364131099000436 2,55469803641311E22
    12  95209141001000001006196 9,5209141001E22
    13  85207131001100892094030 8,52071310011009E22
    14  75203221001000590476576 7,52032210010006E22
    

    【讨论】:

    • 我想这是你能得到的最好的。非常感谢你,@RiKl!我已经等了很久了:)
    【解决方案3】:

    还可以设置列格式(使用与上面相同的表名...)

    column reference_nr 格式 99999999999999999999999999999999

    从rss_ing_cc_imp中选择reference_nr;

    REFERENCE_NR

          95209140353000001009592 
          25546980354901372045601 
    

    或者(新会话)可能更好:

    显示数字宽度

    数字宽度 10

    从rss_ing_cc_imp中选择reference_nr;

    REFERENCE_NR

     9.5E+22 
     2.6E+22 
    

    设置数字宽度 30

    显示数字宽度

    数字宽度 30

    从rss_ing_cc_imp中选择reference_nr;

    REFERENCE_NR

       95209140353000001009592 
       25546980354901372045601
    

    【讨论】:

    • 在 bash 脚本中使用 sqlplus,我的问题是:例外:53204024705854 但是是:5,3204E+13 使用:set numwidth 30 解决了我的问题。 "set numwidth 30 \nset newpage none \nset heading off \nset timing off \nset echo off \nset linesize 32767 \nselect xxx from yyy where zzz;"
    【解决方案4】:
    SET sqlformat ansiconsole;
    

    这将为您以后运行的任何查询设置输出格式。还有其他 sql 格式,但这可能最适合您的情况。

    要恢复到之前的状态,请使用。

    SET sqlformat;
    

    *这已在 SQLDeveloper 版本 18.3.0.277,内部版本 277.2354 上得到验证

    【讨论】:

    • “这个”已经过验证...真的吗?我猜只有第一个命令,而不是第二个。清除sqlformat 的方法是在没有选项的情况下运行SET - 而不是您所写的UNSET。我编辑了您的答案以显示正确的命令。
    【解决方案5】:

    与 Ilya Kogan 的答案相同,但在 PL SQL Dev 13 中,首选项已移动,现在位于标题栏中的小调谐器图标下。然后 SQL Window -> Number fields to_char

    【讨论】:

      猜你喜欢
      • 2021-04-30
      • 2019-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-05
      相关资源
      最近更新 更多