आइए पहले आपकी अभिव्यक्ति को भंग करें
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'
निम्नलिखित करता है:
TO_CHAR(q.created_date, 'DDMMYYYY:HH24:MI:SS')
-> कन्वर्टcreated_date
VARCHAR2
. का मानTO_DATE(..., 'DDMMYYYY:HH24:MI:SS')
-> इसे वापस एकDATE
में बदलेंCAST(... AS TIMESTAMP)
-> इसे एकTIMESTAMP
में बदलें (बिना समय क्षेत्र के)FROM_TZ(..., 'Europe/London')
-> इसमें समय क्षेत्र 'यूरोप/लंदन' संलग्न करें... AT TIME ZONE 'America/New_York'
-> समय क्षेत्र 'अमेरिका/न्यू_यॉर्क' में कनवर्ट करें
प्वाइंट 1,2 और 3 बेकार हैं! चूंकि created_date
एक TIMESTAMP
है आप इसे छोटा कर सकते हैं
TO_CHAR(FROM_TZ(q.created_date, 'Europe/London') AT TIME ZONE 'America/New_York', 'DD-MON-YYYY HH24:MI:SS')
यदि आपका SESSIONTIMEZONE
. है है Europe/London
आप बना भी सकते हैं
TO_CHAR(q.created_date AT TIME ZONE 'America/New_York', 'DD-MON-YYYY HH24:MI:SS')