SQL Developer仅返回日期,而不返回时间。我该如何解决?


167

这是SQL Develoepr在结果窗口和导出时给我的:

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也要返回时间?

部分答案:

select TO_CHAR(creation_time,'DD-Mon-YYYY HH24:MI:SS') from 

如果有人知道如何设置默认值以显示完整信息,请在下面回答。

Answers:


363

你可以试试这个吗?

转到工具>首选项>数据库> NLS并将日期格式设置为MM / DD / YYYY HH24:MI:SS


8
在德语版本中:Extra> Voreinstellungen> Datenbank> NLS
Olivier Faucheux

9
哇...真漂亮。不敢相信我在select声明中进行了转换。
Leniel Maccaferri 2013年

15
“非逻辑设置” :-)
Worldwidejimbo

3
没有!它代表国家语言支持。它用于定义国家日期,数字,货币和语言设置。
user2441441 2015年

2
注意:我需要重新连接到数据库才能使此设置生效
2016年

35

日期格式也可以通过使用以下查询来设置:

更改会话集NLS_DATE_FORMAT ='date_format'

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


21

为了扩展前面的某些答案,我发现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”。


谢谢,这确实对我有帮助-我只是从时间戳复制了格式,却不明白为什么它不起作用。
fleeblewidget

是否有理由(而非标准)使用YYYY-MM-DD HH24:MI:SSvs DD-MM-YYYY HH24:MI:SS
内森·高斯

我总是把年份放在第一位以避免混乱。在美国,典型的顺序是MM-DD-YYYY。在其他地方为DD-MM-YYYY。麻烦的是,您不能在1到12天之间将它们分开。因此,我总是把年份放在第一位。而且我从来没有遇到过将年份放在第一位的事情,然后再接着是月份然后是一天的事情。它也可以像字符串一样整齐地排序,这是一个方便的副作用。
trevorsky

16

从工具>首选项>数据库> NLS参数并将日期格式设置为

DD-MON-RR HH:MI:SS


4

这将为您提供小时,分钟和秒。嘿。

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; 

3

这些答案都不适合我,不是Preferences NLS配置选项或ALTER语句。这是对我而言唯一有效的方法:

dbms_session.set_nls('nls_date_format','''DD-MM-YYYY HH24:MI:SS''');

*在BEGIN语句之后添加

我正在使用PL / SQL Developer v9.03.1641

希望这对某人有帮助!


-1

好吧,我发现这种方式:

Oracle SQL Developer(左上方的图标)>首选项>数据库> NLS并将日期格式设置为MM / DD / YYYY HH24:MI:SS

在此处输入图片说明

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.