SQL Developer 只返回日期,而不是时间。我该如何解决?
Posted
技术标签:
【中文标题】SQL Developer 只返回日期,而不是时间。我该如何解决?【英文标题】:SQL Developer is returning only the date, not the time. How do I fix this? 【发布时间】:2012-09-19 15:39:31 【问题描述】:以下是 SQL Developer 在结果窗口和导出时为我提供的信息:
CREATION_TIME
-------------------
27-SEP-12
27-SEP-12
27-SEP-12
这是运行相同查询/数据库的另一款软件给出的结果:
CREATION_TIME
-------------------
2012-09-27 14:44:46
2012-09-27 14:44:27
2012-09-27 14:43:53
如何让 SQL Developer 也返回时间?
【问题讨论】:
【参考方案1】:你可以试试这个吗?
转到工具> 首选项 > 数据库 > NLS 并将日期格式设置为 MM/DD/YYYY HH24:MI:SS
【讨论】:
德语版:Extra > Voreinstellungen > Datenbank > NLS 哇...这太美了。不敢相信我在select
声明中进行了转换。
'非逻辑设置' :-)
不!它代表国家语言支持。它用于定义国家日期、数字、货币和语言设置。
注意:我需要重新连接数据库才能使此设置生效【参考方案2】:
也可以使用以下查询设置日期格式:-
改变会话设置 NLS_DATE_FORMAT = 'date_format'
例如: 改变会话设置 NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS'
【讨论】:
【参考方案3】:为了扩展之前的一些答案,我发现 Oracle DATE 对象的行为与 Oracle TIMESTAMP 对象不同。特别是,如果您将 NLS_DATE_FORMAT 设置为包括小数秒,则会省略整个时间部分。
格式“YYYY-MM-DD HH24:MI:SS”按预期工作,适用于 DATE 和 TIMESTAMP 格式“YYYY-MM-DD HH24:MI:SSXFF”仅显示 DATE 的日期部分,对 TIMESTAMP 正常工作我个人的偏好是将 DATE 设置为“YYYY-MM-DD HH24:MI:SS”,并将 TIMESTAMP 设置为“YYYY-MM-DD HH24:MI:SSXFF”。
【讨论】:
谢谢,这对我很有帮助 - 我只是从时间戳复制格式,不明白为什么它不起作用。 是否有理由(除了标准)使用YYYY-MM-DD HH24:MI:SS
和DD-MM-YYYY HH24:MI:SS
?
我总是把年份放在第一位以避免混淆。在美国,典型的顺序是 MM-DD-YYYY。其他地方是 DD-MM-YYYY。麻烦的是,你不能在 1 到 12 天之间区分它们。所以我总是把年份放在首位。而且我从来没有遇到过任何将年放在首位的事情,然后再其次是月和日。它还可以像字符串一样干净地排序,这是一个方便的副作用。【参考方案4】:
从工具 > 首选项 > 数据库 > NLS 参数并将日期格式设置为
DD-MON-RR HH:MI:SS
【讨论】:
【参考方案5】:这将为您提供小时、分钟和秒。嘿presto。
select
to_char(CREATION_TIME,'RRRR') year,
to_char(CREATION_TIME,'MM') MONTH,
to_char(CREATION_TIME,'DD') DAY,
to_char(CREATION_TIME,'HH:MM:SS') TIME,
sum(bytes) Bytes
from
v$datafile
group by
to_char(CREATION_TIME,'RRRR'),
to_char(CREATION_TIME,'MM'),
to_char(CREATION_TIME,'DD'),
to_char(CREATION_TIME,'HH:MM:SS')
ORDER BY 1, 2;
【讨论】:
【参考方案6】:这些答案都不适合我,不是 Preferences NLS 配置选项或 ALTER 语句。这是在我的案例中唯一有效的方法:
dbms_session.set_nls('nls_date_format','''DD-MM-YYYY HH24:MI:SS''');
*添加在 BEGIN 语句之后
我正在使用 PL/SQL Developer v9.03.1641
希望这对某人有所帮助!
【讨论】:
【参考方案7】:工具> 首选项 > 数据库 > NLS 在我的情况下,“日期格式”行中的秒后有“XFF”。将参数更正为“yyyy-mm-dd HH24:MI:SS”后出现时间。
【讨论】:
【参考方案8】:我是这样找到的:
Oracle SQL Developer(左上角图标)> 首选项 > 数据库 > NLS 并将日期格式设置为 MM/DD/YYYY HH24:MI:SS
【讨论】:
以上是关于SQL Developer 只返回日期,而不是时间。我该如何解决?的主要内容,如果未能解决你的问题,请参考以下文章
Oracle sql developer 日期/月份数据提取查询和语法
使用 Apache Ant 而不是 Oracle SQL Developer 执行 SQL 时出错
C# SQL 在左连接中选择右表只返回唯一值,而不是每个值的一个实例
Visual Web Developer 2008 Express 想要 SQL Server 2005 而不是 2008?