Home > other >  Oracle SQL, Date and Time in GMT (UTC)
Oracle SQL, Date and Time in GMT (UTC)

Time:09-08

This coding is giving the correct answer for SYSDATE

select round((SYSDATE - date '1970-01-01')*24*60*60) from dual;

1662482430 (seconds) 

I need to return the date / time in GMT/UTC.

I need help with the syntax.

Thanks, Pete

CodePudding user response:

If you use SYSTIMESTAMP instead of SYSDATE then that value will be in your DB time zone, and you can then convert that to UTC with at time zone:

SYSTIMESTAMP at time zone 'UTC'

and cast that back to a date:

cast(SYSTIMESTAMP at time zone 'UTC' as date)

and then use that in your calculation:

select round((cast(SYSTIMESTAMP at time zone 'UTC' as date) - date '1970-01-01')*24*60*60)
from dual;

db<>fiddle

  • Related