поле в моей базе данных оракула, который имеет «ДАТА» и другое поле, которое имеет тип «TIMESTAMP» - PullRequest
1 голос
/ 08 июля 2019

У меня есть поле в моей базе данных Oracle, которое имеет «DATE», а другое поле имеет тип «TIMESTAMP». Когда я пишу запрос на выборку для извлечения этих полей из plsqldeveloper, вывод имеет формат

"05-11-16"

однако, когда я получаю те же данные из моего кода Java (данные Spring jpa), вывод имеет формат

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

Может кто-нибудь помочь мне понять, в чем причина этого расхождения?

1 Ответ

2 голосов
/ 08 июля 2019

Ваши настройки формата 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

...