【问题标题】:Number data type showing up as # in SQL Plus数字数据类型在 SQL Plus 中显示为 #
【发布时间】:2013-11-22 16:08:45
【问题描述】:

数字数据类型显示为 # 而不是 SQL Plus 中的数字。

请参阅之前正确显示的问题的 H_RATE,我已经在 Internet 和 stackoverflow 中搜索了类似的问题或答案,但没有一个相同的问题。

你能帮忙修复它,让它显示数字而不是#吗?

【问题讨论】:

  • 列中的数字有多大 - 你能举个例子吗?您是否设置了数字格式 - show numformat 显示什么?您是否为该列设置了不合适的格式?如果你clear columns,显示是否恢复正常?

标签: oracle sqlplus


【解决方案1】:

# 如果值不能放入列中,则显示; from the SQL*Plus documentation:

如果某个值无法放入列中,SQL*Plus 会显示井号 (#) 而不是数字。

如果显示正常而现在不正常,我认为您可能设置的列格式对于您要显示的值来说太小了,例如column h_rate format 9999999999。如果您的 10 位数字不够用,因为它需要一个字符来显示 +/- 符号。

您可以通过使用clear columns 清除所有列定义来检查是否是这种情况。

【讨论】:

    【解决方案2】:

    您的H_RATE 格式可能比数据的位数更小:

    select to_char(123,'99') from dual; --returns ###
    

    但要正确格式化一些比数据更大的东西:

    select to_char(12345,'99,999') from dual; -- returns 12,345
    

    oracle 给出了各种格式here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 2019-02-17
      • 2020-07-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多