Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

विभिन्न समय क्षेत्रों के बीच दिनांक/समय रूपांतरण

आइए पहले आपकी अभिव्यक्ति को भंग करें

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'

निम्नलिखित करता है:

  1. TO_CHAR(q.created_date, 'DDMMYYYY:HH24:MI:SS') -> कन्वर्ट created_date VARCHAR2 . का मान
  2. TO_DATE(..., 'DDMMYYYY:HH24:MI:SS') -> इसे वापस एक DATE में बदलें
  3. CAST(... AS TIMESTAMP) -> इसे एक TIMESTAMP में बदलें (बिना समय क्षेत्र के)
  4. FROM_TZ(..., 'Europe/London') -> इसमें समय क्षेत्र 'यूरोप/लंदन' संलग्न करें
  5. ... 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')


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. गैर-संख्यात्मक वर्णों वाली पंक्तियों को बाहर करने के लिए Oracle SQL क्वेरी

  2. ORA-00904:अच्छा रिज़ॉर्ट:अमान्य पहचानकर्ता

  3. Oracle संख्या तुलना

  4. Oracle SQL डेवलपर में एक नया डेटाबेस और नया कनेक्शन बनाना

  5. Oracle तालिका गतिशील विभाजन