首页 > 解决方案 > Oracle APEX 中的大数输入

问题描述

我在 DB 和 Oracle APEX 中有一个数字字段。

我的问题是:

如果用户想要输入这种格式“1.000.000,01”的数字数据,那么输入必须是数字的字符错误。

如何在应用层解决这个问题?在数据库层有一些解决方案,但在应用层到目前为止我找不到任何解决方案。

作为总结:我想在应用程序中输入编号为 1.000.000,12 并且我想以相同的格式查看它。

NOT:在应用程序中运行一个过程以将数据插入数据库。

标签: databaseoracleoracle-apex

解决方案


您可以/应该设置适当的格式掩码,例如999G999G990D00在哪里

  • G代表数千个字符(在您的情况下为点)
  • D表示十进制字符(在您的情况下为逗号)

但是,您在哪里设置 NLS 数字字符(由Gand表示D)?在 Apex 20.2 中,将设置为:

  • 应用程序构建器

  • 共享组件

  • 全球化属性

  • 安全

  • 初始化 PL/SQL 代码 - 在这里,您可能会看到它们的设置。如有必要,更改这些值。例如:

    begin
      execute immediate q'[alter session set nls_numeric_characters = ',.']';
      execute immediate q'[alter session set nls_date_format = 'dd.mm.yyyy hh24:mi:ss']';
    end;
    

推荐阅读