Oracle SQL, Date and Time in GMT (UTC)

695 views Asked by At

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

1

There are 1 answers

0
Alex Poole On BEST ANSWER

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