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

TZ स्ट्रिंग प्रारूप में TimeStamp को Oracle में TimeStamp में बदलें

संभवतः निश्चित T और Z आपको थोड़ा भ्रमित कर रहे हैं, क्योंकि वे सामान्य नहीं हैं डेटाटाइम प्रारूप मॉडल तत्व लेकिन दस्तावेज कहते हैं:

तो आप T और Z को डबल-कोट्स में संलग्न करते हैं, जैसे "T" और "Z" , आपके प्रारूप मॉडल में।

यदि आप समय क्षेत्र में हस्तक्षेप नहीं करते हैं तो आप का उपयोग कर सकते हैं to_timestamp() समारोह :

to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')

या यदि आप समय क्षेत्र के साथ रहना चाहते हैं तो आप का उपयोग कर सकते हैं to_timestamp_tz() समारोह , जो आपके वर्तमान सत्र समय क्षेत्र के लिए डिफ़ॉल्ट होगा (जैसा कि आप वास्तव में यहां एक निर्दिष्ट नहीं कर रहे हैं, Z की व्याख्या ज़ुलु/UTC के रूप में नहीं की गई है):

to_timestamp_tz('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')

यदि आप इसे समय क्षेत्र के साथ चाहते हैं और यह निर्दिष्ट करना चाहते हैं कि यह यूटीसी है तो आप इसे from_tz() समारोह :

from_tz(to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"')), 'UTC')

उन अंतरों को देखने के लिए, जो सत्र के लिए एक डेमो के रूप में समय क्षेत्र निर्दिष्ट करते हैं:

alter session set time_zone = 'America/New_York';

select to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"') as no_tz,
  to_timestamp_tz('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"') as default_tz,
  from_tz(to_timestamp('2015-03-24T07:08:24.000Z', 'YYYY-MM-DD"T"HH24:MI:SS.FF3"Z"'), 'UTC') as utc_tz
from dual;

NO_TZ
--------------------------------------------------
DEFAULT_TZ
--------------------------------------------------
UTC_TZ
--------------------------------------------------
24-MAR-15 07.08.24.000000000                       
24-MAR-15 07.08.24.000000000 AMERICA/NEW_YORK      
24-MAR-15 07.08.24.000000000 UTC                  

मैं मान रहा हूं कि Z निश्चित है और आपको जो मान मिलते हैं, वे हमेशा UTC का प्रतिनिधित्व करते हैं; यदि आप वास्तव में उन मूल्यों में अलग-अलग समय क्षेत्र प्राप्त करते हैं जिन्हें आपको परिवर्तित करने की आवश्यकता है तो आपको उन्हें निकालने और लागू करने की आवश्यकता होगी - जो कि करने योग्य है, लेकिन मुश्किल है, और जब तक आपके पास वास्तव में वह स्थिति नहीं है तब तक जाने योग्य नहीं है।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. सीम @ ट्रांसेक्शनल एनोटेशन काम नहीं कर रहा है?

  2. वेबस्पेयर एप्लिकेशन सर्वर में XAException

  3. बड़ी डीबी तालिका के लिए एसक्यूएल अनुकूलक

  4. एक सहसंबद्ध उपश्रेणी के साथ कुशल जुड़ाव

  5. ओरेकल एसक्यूएल समय अंतर पाते हैं (दोनों समय स्ट्रिंग में)