Pertama mari kita larutkan ekspresimu
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'
melakukan hal berikut:
TO_CHAR(q.created_date, 'DDMMYYYY:HH24:MI:SS')
-> Konversicreated_date
nilai keVARCHAR2
TO_DATE(..., 'DDMMYYYY:HH24:MI:SS')
-> Ubah kembali menjadiDATE
CAST(... AS TIMESTAMP)
-> Ubah menjadiTIMESTAMP
(tanpa zona waktu)FROM_TZ(..., 'Europe/London')
-> Lampirkan zona waktu 'Eropa/London' ke sana... AT TIME ZONE 'America/New_York'
-> Ubah ke zona waktu 'Amerika/New_York'
Poin 1,2 dan 3 tidak berguna! Sejak created_date
adalah TIMESTAMP
kamu bisa melakukannya lebih pendek
TO_CHAR(FROM_TZ(q.created_date, 'Europe/London') AT TIME ZONE 'America/New_York', 'DD-MON-YYYY HH24:MI:SS')
Jika SESSIONTIMEZONE
your Anda adalah Europe/London
Anda bahkan dapat membuat
TO_CHAR(q.created_date AT TIME ZONE 'America/New_York', 'DD-MON-YYYY HH24:MI:SS')