【问题标题】:Oracle APEX - no leading zeroOracle APEX - 没有前导零
【发布时间】:2019-06-19 13:27:58
【问题描述】:

我在 Oracle APEX 18.2 中构建了一个应用程序。应用程序中的每个数字字段都缺少前导零。例如,当号码为0.5 时,APEX 将其显示为.5。该问题也出现在 SQL Workshop 中。在 SQL Developer 中,前导零的数字格式很好,所以我认为这是 Oracle APEX 的问题,而不是 Oracle DB 的问题。 APEX 中是否有数字格式的全局设置?

【问题讨论】:

  • 我很想知道这是否仅仅是一个显示问题,或者这是否是与导致错误的数据类型有关的问题?据我所知,这是与您要求的可能设置有关的显示问题,可以解决此问题?

标签: oracle plsql oracle-apex oracle-apex-18.2


【解决方案1】:

我在向数字添加零时遇到了问题,但它已通过使用 Oracle Developer 的函数修复

select LPAD((max(ID))+1, 6, '0') from Yourtable

并将其作为函数调用。

也许你可以使用 PL/SQL 表达式来修复它

【讨论】:

    【解决方案2】:

    我最近遇到了同样的问题。我用to_char(xxx,'FM999G990D00')修复了它

    SELECT mont.period_name AS PERIOD
         , to_char(ivo.total_overtime,'FM999G990D00')
         , to_char(emho.ACTUAL_TRANSFERRED_HOURS,'FM999G990D00')
         , to_char(emho.actual_recup_days,'FM999G990D00')
    FROM .....
    

    像魅力一样工作

    【讨论】:

      【解决方案3】:

      据我所知,没有这样的全局设置,这意味着您也必须应用一些格式掩码

      • 直接(在SELECT 语句中,在TO_CHAR 函数调用中),或
      • 在列的(项目的)属性中

      您可能考虑的格式掩码是FM999G990D00 as

      • FM 将删除前导空格和多余的尾随零
      • 不要使用显式 ,. 分组和十进制字符,而是使用 GD

      【讨论】:

        【解决方案4】:

        我假设您有一个经典或交互式报告,在这种情况下:

        • 转到页面设计器并选择列
        • 转到格式掩码选项
        • 选择您想要的数字格式。
        • 你可能会得到类似 999G999G999G999G990D00 的东西
        • 如果末尾有 9D00,则将 9 更改为 0

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-12-06
          • 2011-06-06
          • 2011-04-19
          • 1970-01-01
          相关资源
          最近更新 更多