我的Oracle数据库中的“ DATE”字段和其他“ TIMESTAMP”类型字段

时间:2019-07-08 13:09:20

标签: date oracle-sqldeveloper

我在oracle数据库中有一个字段为“ DATE”,其他字段为“ TIMESTAMP”类型。 当我编写一个选择查询以从plsqldeveloper检索这些字段时,输出的格式为

"05-11-16"

但是,当我从java代码中检索相同的数据(spring数据jpa)时,输出的格式为

"2005-02-10 00:00:00"

有人可以帮助我了解这种差异的原因吗?

1 个答案:

答案 0 :(得分:2)

您的NLS格式设置可能会影响显示输出的方式。

SELECT *
  FROM sys.nls_session_parameters
 WHERE parameter LIKE '%FORMAT%';

SELECT sysdate,
       systimestamp
  FROM dual;

给我这个...

PARAMETER                      VALUE                                                           
------------------------------ ----------------------------------------------------------------
NLS_DATE_FORMAT                DD-MON-RR  HH24.MI.SS                                           
NLS_TIME_FORMAT                HH.MI.SSXFF AM                                                  
NLS_TIMESTAMP_FORMAT           DD-MON-RR HH.MI.SSXFF AM                                        
NLS_TIME_TZ_FORMAT             HH.MI.SSXFF AM TZR                                              
NLS_TIMESTAMP_TZ_FORMAT        DD-MON-RR HH.MI.SSXFF AM TZR                                    


SYSDATE             SYSTIMESTAMP                          
------------------- --------------------------------------
08-JUL-19  09.34.04 08-JUL-19 09.34.04.878569000 AM -04:00

如果您关心DATE或TIMESTAMP值的格式,请将其构建到查询中。

enter image description here