我的oracle数据库中有一个字段是"DATE“,其他字段的类型是”TIMESTAMP“。当我编写一个select查询来从plsqldeveloper检索这些字段时,输出的格式是
"05-11-16"但是,当我从java代码(spring data jpa)中检索相同的数据时,输出的格式是
"2005-02-10 00:00:00"有没有人能帮我解释一下这个差异的原因是什么?
发布于 2019-07-08 21:35:23
您的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如果您关心日期或时间戳值的格式,请将其构建到查询中。

https://stackoverflow.com/questions/56935661
复制相似问题