如何在 Oracle SQL Developer 中设置自定义日期时间格式?

Posted

技术标签:

【中文标题】如何在 Oracle SQL Developer 中设置自定义日期时间格式?【英文标题】:How can I set a custom date time format in Oracle SQL Developer? 【发布时间】:2011-12-29 09:18:42 【问题描述】:

默认情况下,Oracle SQL 开发人员将日期值显示为15-NOV-11。我想默认查看时间部分(小时/分钟/秒)。

有没有办法在 Oracle SQL Developer 中进行配置?

【问题讨论】:

我以前遇到过这个问题。我可以在会话中更正它,但是一旦我关闭 SQL Developer 然后重新启动它,我就会丢失设置。所以我能提供的这个解决方案不是永久的。 你能添加一个答案吗? @BrettWalker,总比没有好。 对于一个名为“DATE”的数据类型来说,这是多么荒谬的默认值,它实际上将精度存储到秒。这一定是浪费了很多人的时间。 【参考方案1】:

您可以在首选项中更改此设置:

    从 Oracle SQL Developer 的菜单转到:工具 > 首选项。 在 Preferences 对话框中,从左侧面板中选择 Database > NLS。 从 NLS 参数列表中,在 日期格式 字段中输入 DD-MON-RR HH24:MI:SS。 保存并关闭对话框,完成!

这是截图:

【讨论】:

我在 linux 上使用 SQLDeveloper,这个设置对我不起作用.. 还有其他方法吗? 无论我放什么格式,它都会被忽略。我看到这是在 sql 中生成的:to_date('02-OCT-14','YYYY-MM-DD') 所以现在我的 sql 完全坏了。 这种格式对我不起作用,可能是因为平台语言环境的差异......如果这个格式不起作用,请参阅我的答案 此设置存储在哪里?在 DB 或 SQL Developer 中?【参考方案2】:

我在尝试更改 sql-developer 中日期的显示格式时偶然发现了这篇文章。只是想补充一下我发现的内容:

要更改默认显示格式,我将使用 ousoo 提供的步骤,即工具 > 首选项 > ...

但很多时候,我只想保留 DEFAULT_FORMAT,同时仅在一堆相关查询期间修改格式。那时我会使用以下内容更改会话的格式:

alter SESSION set NLS_DATE_FORMAT = 'my_required_date_format'

例如:

   alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS' 

【讨论】:

【参考方案3】:

使用 Oracle SQL Developer 3.2.20.09,我设法以这种方式为 DATE 类型设置自定义格式:

在:工具 > 首选项 > 数据库 > NLS

或者:Outils > Préférences > Base de donées > NLS

YYYY-MM-DD HH24:MI:SS

请注意,以下格式对我不起作用

DD-MON-RR HH24:MI:SS

因此,它保持默认格式,没有任何错误。

【讨论】:

【参考方案4】:

在我的例子中,格式设置在 Preferences/Database/NLS 是 [日期格式] = RRRR-MM-DD HH24:MI:SSXFF 但在网格中有 8 可能是默认格式 RRRR/MM/DD(即使没有时间) 将设置 [日期格式] 更改为: RRRR-MM-DD HH24:MI:SS (最后没有'XFF')。

没有错误,但最后使用 xff 的格式不起作用。

注意:在波兰语中,RRRR 表示 YYYY

【讨论】:

TL;DR: 末尾没有'XFF' 在 Oracle 中,日期没有小数秒部分。时间戳可以。因此,Oracle 试图通过不让您指定不起作用的内容来提供帮助。【参考方案5】:

对于任何对此仍有疑问的人;我碰巧在 Google 上找到了这个页面...

像这样放入(NLS 参数)...它在 SQLDeveloper v3.0.04 中对我来说很重要:

DD-MON-YY HH12:MI:SS AM or for 24-Hour, DD-MON-YY HH24:MI:SS 

【讨论】:

请务必注意,对于 24 小时格式,“AM”格式标记已删除。如果同时使用“AM”和“HH24”标记,则“AM”会覆盖“HH24”。【参考方案6】:

当我复制时间戳的日期格式并将其用于日期时,它不起作用。但是将日期格式更改为此 (DD-MON-YY HH12:MI:SS AM) 对我有用。

必须在工具->首选项->搜索NLS中进行更改

【讨论】:

【参考方案7】:

转到工具 > 首选项。在树中,选择数据库 > NLS。提供三种日期/时间格式:日期、时间戳和时间戳 TZ。编辑日期格式会产生所需的效果。

就像我上面所说的;这种方法并没有给我带来永久性的改变。

【讨论】:

jsyk,你的个人资料照片让我想起了 om don corleone(此类评论的位置错误)【参考方案8】:

SQL Developer 版本 4.1.0.19

第 1 步:转到工具 -> 首选项

第 2 步:选择数据库 -> NLS

第 3 步:转到日期格式并输入 DD-MON-RR HH24: MI: SS

第 4 步:点击确定。

【讨论】:

【参考方案9】:

我有一个相关问题已解决,并希望让人们知道我的解决方案。使用 SQL Developer 我从一个数据库导出到 csv,然后尝试将其导入另一个数据库。我的日期字段中不断出现错误。我的日期字段采用时间戳格式:

28-JAN-11 03.25.11.000000000 PM

上述解决方案(更改 NLS 首选项)在我导入时对我不起作用,但我终于得到了以下工作:

在导入向导的列定义界面,我在格式框中输入了“DD-MON-RR HH.MI.SSXFF AM”,最终导入成功。不幸的是,我有几十个日期字段,据我所知,没有办法系统地将这种格式应用于所有日期字段,所以我不得不手动进行......叹息。如果有人知道更好的方法,我会很高兴听到它!

【讨论】:

以上是关于如何在 Oracle SQL Developer 中设置自定义日期时间格式?的主要内容,如果未能解决你的问题,请参考以下文章

如何安装pl/sql developer

如何安装pl/sql developer

如何在 SQL Developer 中检查语法 Oracle 存储过程?

oracle 客户端 sql developer 如何修改jdk版本

如何在 Oracle SQL Developer 中查询数据库名称?

如何在 oracle sql developer 中运行存储过程?