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

Oracle SQL क्वेरी स्टेटमेंट और टाइमस्टैम्प और ISO तिथियों के साथ शर्तें

पहले के एक प्रश्न पर आधारित , यह T और Z दोनों को वर्ण शाब्दिक के रूप में व्यवहार करने के लिए आकर्षक है, और मूल रूप से उनका उपयोग करके उन्हें अनदेखा करें:

to_timestamp_tz('2014-01-28T12:00:0Z', 'YYYY-MM-DD"T"HH24:MI:SS"Z"')

अगर आप to_timestamp_tz() . का इस्तेमाल करते हैं एक समय क्षेत्र निर्दिष्ट किए बिना यह आपके सत्र समय क्षेत्र के लिए डिफ़ॉल्ट है, जैसा कि to_timestamp() होगा; इसलिए ज़ुलु/यूटीसी में निर्दिष्ट समय उस क्षेत्र की जानकारी खो देता है:

alter session set time_zone = 'America/New_York';
select to_timestamp_tz('2014-01-28T12:00:0Z',
  'YYYY-MM-DD"T"HH24:MI:SS"Z"') from dual;

TO_TIMESTAMP_TZ('2014-01-28T12:00:0Z','YYYY-MM-DD"T"HH24:MI:SS"Z"')
-------------------------------------------------------------------
28-JAN-14 12.00.00.000000000 AMERICA/NEW_YORK                       

आपका 12:00 समय न्यूयॉर्क में 12:00 के रूप में दिखाया गया है, न कि 12:00 UTC के रूप में।

एक सुरक्षित रूपांतरण, यह मानते हुए कि आपके मान हमेशा यूटीसी का प्रतिनिधित्व करते हैं, समय क्षेत्र को स्पष्ट रूप से निर्दिष्ट करना है from_tz() समारोह :

WHERE MODIFICATION_DATE >= from_tz(to_timestamp('2014-01-28T12:00:0Z',
  'YYYY-MM-DD"T"HH24:MI:SS"Z"'), 'UTC')

इससे UTC समय ठीक से प्राप्त होता है:

alter session set time_zone = 'America/New_York';
select from_tz(to_timestamp('2014-01-28T12:00:0Z',
  'YYYY-MM-DD"T"HH24:MI:SS"Z"'), 'UTC') from dual;

FROM_TZ(TO_TIMESTAMP('2014-01-28T12:00:0Z','YYYY-MM-DD"T"HH24:MI:SS"Z"'),'UTC')
-------------------------------------------------------------------------------
28-JAN-14 12.00.00.000000000 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. दो स्तंभों का मिलान

  3. ओरेकल प्रक्रिया के लिए सरणी पास करें

  4. चयन पर Oracle संग्रहीत कार्यविधि त्रुटि

  5. क्या पीएल एसक्यूएल पैकेज प्रक्रिया में ऑब्जेक्ट्स को पैरामीटर के रूप में पास करना संभव है?