Laten we eerst je uitdrukking ontbinden
FROM_TZ(CAST(TO_DATE(TO_CHAR(q.created_date, 'DDMMYYYY:HH24:MI:SS'), 'DDMMYYYY:HH24:MI:SS') AS TIMESTAMP), 'Europe/London') AT TIME ZONE 'America/New_York'
doet het volgende:
TO_CHAR(q.created_date, 'DDMMYYYY:HH24:MI:SS')
-> Converteercreated_date
waarde naarVARCHAR2
TO_DATE(..., 'DDMMYYYY:HH24:MI:SS')
-> Converteer het terug naar eenDATE
CAST(... AS TIMESTAMP)
-> Converteer het naar eenTIMESTAMP
(zonder tijdzone)FROM_TZ(..., 'Europe/London')
-> Voeg er tijdzone 'Europe/London' aan toe... AT TIME ZONE 'America/New_York'
-> Converteren naar tijdzone 'America/New_York'
Punt 1,2 en 3 zijn nutteloos! Sinds created_date
is een TIMESTAMP
je kunt het korter doen
TO_CHAR(FROM_TZ(q.created_date, 'Europe/London') AT TIME ZONE 'America/New_York', 'DD-MON-YYYY HH24:MI:SS')
In het geval dat uw SESSIONTIMEZONE
is Europe/London
je kunt zelfs
TO_CHAR(q.created_date AT TIME ZONE 'America/New_York', 'DD-MON-YYYY HH24:MI:SS')