Как получить нужный мне формат времени? - PullRequest
2 голосов
/ 07 октября 2019

На данный момент я получаю дату в следующем формате:

2019-10-07

То есть, это выглядит так

TO_CHAR("DATE_BEGIN", 'YYYY-MM-DD')

Как это сделать, чтобы получить дату вэтот формат:

Wed Oct 07 2019 00:00:00 GMT 0500

Я пытался сделать это:

 TO_CHAR("DATE_BEGIN", 'DY MON DD YYYY HH24:MI:SS') like '%Wed Aug 28 2019 00:00:00 GMT 0500%'

Но чего-то не хватает, потому что это не работает.

Ответы [ 2 ]

2 голосов
/ 07 октября 2019

Я не уверен, что вы можете вернуть и GMT, и 0500. Это должно приблизить вас:

SELECT TO_CHAR(CURRENT_TIMESTAMP AT TIME ZONE 'GMT', 'Dy Mon DD YYYY HH:MI:SS TZR') 
FROM dual

Результат:

Mon Oct 07 2019 08:24:44 +00:00

SQL Fiddle

2 голосов
/ 07 октября 2019

Я думаю, что вам нужен этот формат:

select to_char( systimestamp at time zone 'GMT','Dy Mon dd yyyy hh24:mi:ss TZR') 
  from dual;

, или используйте напрямую:

select to_char( systimestamp,'Dy Mon dd yyyy hh24:mi:ss TZR') 
  from dual;

или для текущей даты замещения используйте приведение:

select to_char( cast( date'2019-10-07' as timestamp) at time zone 'GMT',
                      'Dy Mon dd yyyy hh24:mi:ss TZR') 
  from dual;

Демо

...