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

डेटाटाइम कॉलम को यूटीसी टाइम में बदलें

आरंभ करने के लिए:to_char() एक तारीख से एक स्ट्रिंग देता है। तो अगर आप एक date चाहते हैं , इसका उपयोग न करें, अर्थात इसे बदलें:

to_char(to_date(f_sta_date, 'YYYYMMDD') + (f_sta_time)/86400), 'YYYY-MM-DD HH24:MI:SS')

प्रति:

to_date(f_sta_date, 'YYYYMMDD') + f_sta_time/86400

फिर:जब समय क्षेत्र को प्रबंधित करने की बात आती है, तो आपको timestamp with time zone का उपयोग करना होगा date . के बजाय डेटाटाइप . अपनी तिथि को स्थानीय समय में बदलने के लिए (अर्थात आपके सत्र का समय क्षेत्र, जिसे SESSIONTIMEZONE द्वारा परिभाषित किया गया है) ) एक टाइमस्टैम्प के लिए और UTC पर संबंधित दिनांक/समय प्राप्त करें, आप यह कर सकते हैं:

cast(to_date(f_sta_date, 'YYYYMMDD') + f_sta_time/86400 as timestamp with time zone) 
    at time zone 'UTC'

आपकी क्वेरी:

select
    to_date(f_sta_date, 'YYYYMMDD') + f_sta_time/86400 dt_sta,
    to_date(f_sto_date, 'YYYYMMDD') + f_sto_time/86400 dt_sto,
    cast(to_date(f_sta_date, 'YYYYMMDD') + f_sta_time/86400 as timestamp) 
        at time zone 'UTC' dt_sta_utc,
    cast(to_date(f_sto_date, 'YYYYMMDD') + f_sto_time/86400 as timestamp) 
        at time zone 'UTC' dt_sto_utc
from t


  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 में वैज्ञानिक संकेतन में संख्याओं को कैसे प्रारूपित करें

  2. कर्सर के साथ PL/SQL नेस्टेड लूप्स

  3. जावा (जेडीबीसी) के माध्यम से एसएसएल-सक्षम ओरेकल डीबी से जुड़ना

  4. Oracle पर SQL इंजेक्शन कैसे करें

  5. तालिका को छोड़ने और पुनर्निर्माण किए बिना ऑरैकल में किसी विशिष्ट स्थिति में कॉलम कैसे सम्मिलित करें?