【问题标题】:Display all available NLS timestamp formats in APEX select list在 APEX 选择列表中显示所有可用的 NLS 时间戳格式
【发布时间】:2019-08-17 17:57:31
【问题描述】:

我有一个看起来很标准的 APEX 页面,其中有一个用户应该选择的某些项目的选择列表。这些项目是时间戳格式、日期格式、时区。

我不想创建自己的表格并上传这些格式的定义,而是直接从 NLS 表格中提取这些信息。然而,我无法做到这一点。在 APEX 选择列表中显示时间戳格式、日期格式和时区的完整列表的最佳方式是什么(不是在单个选择列表中,每种格式都有自己的选择列表)。

我得到的最接近的是玩这个查询: https://ferhatsengonul.wordpress.com/2010/07/21/to-show-nls-parameters-for-session-database-instance-together-by-pivot-and-listagg-on-11gr2/

但我找不到有关显示这些参数列表中包含的所有值的任何信息。

更新>关于我正在寻找的值列表的更多细节......

我想向用户显示的值列表在 APEX 内部位于以下位置: 应用程序 -> 共享组件 -> 全球化属性

在该页面上有以下字段:

  • 申请日期格式
  • 申请日期时间格式
  • 应用程序时间戳格式
  • 应用程序时间戳时区格式

单击这些链接会打开以下列表……这也是我希望在我的应用程序中拥有的功能。

【问题讨论】:

    标签: oracle-apex


    【解决方案1】:

    您可以安装应用程序生成器,从 APEX 下载中的 /core 文件夹中获取导出。

    在第 506 页(使用构建器识别),我可以继续查看他们使用的 LOV

    select d, r 
      from wwv_flow_format_masks
    

    深入查看视图定义,我可以看到它只是一堆联合所有语句而不是对偶

    select cast( d as varchar2(128) ) as d, r, t
      from ( select to_char((5234 + 10/100),'FML999G999G999G999G990D00') d, 'FML999G999G999G999G990D00' r, 'N' t from sys.dual
                 union all
             select trim(to_char((5234 + 10/100),'999G999G999G999G990D00')) d, '999G999G999G999G990D00' r, 'N' t from sys.dual
                 union all
             select trim(to_char((5234 + 10/100),'999G999G999G999G990D0000')) d, '999G999G999G999G990D0000' r, 'N' t from sys.dual
    ...
    

    所以这只是一个可用的示例。

    【讨论】:

    • 完美,谢谢斯科特。对于可能觉得它有用的其他人(或对未来的我 :)。您无需安装 APEX 即可访问数据。 APEX 安装可以解压后下载,在 /core 文件夹中有两个文件:apex_views.sql 和 views.sql,其中包含“flow_*”视图的 DDL。对于我使用的时区名称 select * from gv$timezone_names; ...或 select * from v$timezone_names 也可以。
    • 好点,我也经常忘记这一点。但有时你首先要知道你在寻找什么;p
    猜你喜欢
    • 2011-12-03
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-20
    • 1970-01-01
    • 2015-08-02
    • 1970-01-01
    相关资源
    最近更新 更多