【问题标题】:How to convert the Node.js date format to oracle datetime format from configuration如何将 Node.js 日期格式从配置转换为 oracle 日期时间格式
【发布时间】:2020-09-24 15:52:49
【问题描述】:

我需要在不更改查询的情况下从 Oracle db 更改 de DATEFORMAT,我正在使用 NodeJS 中的 postgres 和 pg 模块有类型来解析在进行查询调用之前响应我模块的格式,但我搜索相同的方式来配置它在oracle中,但我找不到方法

oracle 日期格式

2009-01-01T05:00:00.000Z

我需要这个日期格式

01-01-2009 05:00:00" / "DD-MM-YYYY HH:mm:ss

我使用 npm 的 oracledb 包来连接 nodejs 和 oracle

【问题讨论】:

  • 您如何从 Oracle 数据库中获取日期?如果是查询,能否分享一下用于获取日期的查询?
  • 是的,是一个查询,但我不需要更改查询,有很多查询,我知道如何将格式更改为 SQL,但我需要在 sql 连接内更改格式或类似的
  • 查看 Working with Dates Using the Node.js Driver - 并查看 node-oracledb 文档

标签: node.js oracle date-format


【解决方案1】:

您可以通过更改会话的NLS_DATE_FORMAT 来更改返回的默认日期格式。

SQL> alter session set nls_date_format="DD-MON-YYYY";

Session altered.

SQL> select sysdate from dual;

       SYSDATE
______________
24-SEP-2020

SQL> alter session set nls_date_format="DD-MM-YYYY HH24:MI:SS";

Session altered.

SQL> select sysdate from dual;

               SYSDATE
______________________
24-09-2020 15:02:57

【讨论】:

  • 由于为每个连接运行 ALTER 的成本很高,因此一种替代方法包括在启动 Node.js 之前设置 NLS_DATE_FORMAT(和 NLS_LANG)。使用连接池的另一种方法是在 sessionCallback 中执行 ALTER - 检查 node-oracledb 文档。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多