在Oracle PL/SQL开发人员中查看带日期的时间部分的设置是什么?

Mis*_*u4u 4 oracle oracle-sqldeveloper

我有一个名为AUDIT的表,它保存了对帐户进行的所有修改.有一个字段AUDIT_DATE,其中包含已完成特定修改的日期.现在的问题是,在我的一位同事Oracle PL/SQL开发人员中,我可以看到AUDIT_DATE列中的时间和日期,但在我的Oracle PL/SQL开发人员中,我看不到时间部分.所以我认为在我的Oracle PL/SQL开发人员中没有正确完成某些设置,这就是为什么我看不到时间部分.我问同事,但他不清楚这种差异.

Ale*_*ole 12

如果您想要查看显示时间的日期而不使用格式掩码to_char(),则需要更改您的NLS_DATE_FORMAT.假设您的意思是Oracle SQL Developer,您可以从Tools-> Preferences执行此操作,展开左侧面板中的Database部分,然后选择NLS:

在此输入图像描述

目前NLS_DATE_FORMAT设定为DD-MON-RR,今天将显示为16-MAY-14.要显示我可能设置的完整日期和时间YYYY-MM-DD HH24:MI:SS.您可能还想更改NLS_TIMESTAMP格式.

PL/SQL Developer在Tools-> Preferences下也有NLS选项:

在此输入图像描述

您可以在文档中看到可用的格式模型.

如果您正在编写将由其他人执行或可能执行的代码,请不要依赖使用这些参数的隐式格式.它们适用于您自己的封闭环境中的即席查询,但当其他人(使用不同的NLS设置)运行它们时,它们可能会以有趣的方式破坏.对于除了即席查询之外的任何事情,你应该真正指定掩码,使用to_char(<column>, 'YYYY-MM-DD HH24:MI:SS')或适当的任何模型.这当然也意味着您可以获得正确的列格式; 如果你的列只代表时间,那么设置会话的格式模型并依赖于这意味着你会看到所有的00:00:00时间,这通常只是噪音.