我在oracle数据库中有一个字段为“ DATE”,其他字段为“ TIMESTAMP”类型。 当我编写一个选择查询以从plsqldeveloper检索这些字段时,输出的格式为
"05-11-16"
但是,当我从java代码中检索相同的数据(spring数据jpa)时,输出的格式为
"2005-02-10 00:00:00"
有人可以帮助我了解这种差异的原因吗?
答案 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值的格式,请将其构建到查询中。