dbms_xmlgen.getxml - 如何设置日期格式

发布于 2024-10-21 11:53:52 字数 398 浏览 2 评论 0原文

我们使用 dbms_xmlgen.getxml 实用程序通过 SQL 查询生成 xml,该查询从几乎 10-15 个相关表中获取数据。

默认情况下,日期格式以 dd-MMM-yy 格式生成。有什么方法可以在 dbms_xmlgen.getxml 实用程序中设置日期格式。

注意 -

  1. 从调用此过程的 oracle 用户中使用 alter session nls_date_format 是不可行的。
  2. 此外,我们希望避免对每个字段使用 to_date 函数,因为数据是从几乎 10-15 个相关表中获取的,并且对近 50 个日期字段使用 to_date 会降低性能。
  3. dbms_xmlgen.getxml 是首选,因为它比其他类似的包具有更高的性能。

谢谢。

We are using dbms_xmlgen.getxml utility to generate xml using sql queries which fetches data from almost 10-15 related tables.

By default, date format is getting generated in dd-MMM-yy format. Is there any way we can set dateformat in dbms_xmlgen.getxml utility.

Notes -

  1. It is not feasible to use alter session nls_date_format from oracle user who calls this procedure.
  2. Also, We want to avoid using to_date function for each and every field since data is getting fetched from almost 10-15 related tables and it can degrade performance to use to_date for almost 50 date fields.
  3. dbms_xmlgen.getxml was preferred as it is highly perfomant than other comparable packages.

Thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

左秋 2024-10-28 11:53:52

您列出的限制很难解决,因为 dbms_xmlgen 不提供设置日期格式的方法。它使用 nls_date_format。 dbms_xmlquery 确实允许您指定日期格式,但性能较差。

您可以尝试向表中添加列来存储格式化日期。更新插入、更新等时的显示列。

您还可以尝试将内部选择包装在另一个在较小集合上运行 to_date 函数的选择中。

    dbms_xmlgen.getxml('
     select to_date(date_column_1, 'your/date/format') from (
        your original query here
      )');

The restrictions you have listed are difficult to work around because dbms_xmlgen does not provide a way to set a date format. It uses nls_date_format. dbms_xmlquery does allow you to specify a date format, but is not as performant.

You could try adding columns to the tables to store the formatted dates. Update the display column on insert, update, etc.

You could also try wrapping your inner select inside another select that runs the to_date function on a smaller set.

    dbms_xmlgen.getxml('
     select to_date(date_column_1, 'your/date/format') from (
        your original query here
      )');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文