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

Oracle डेटाबेस में मान्य समय क्षेत्रों की सूची कैसे लौटाएं?

कभी-कभी हमें Oracle में डेटाटाइम फ़ंक्शंस का उपयोग करते समय एक समय क्षेत्र निर्दिष्ट करने की आवश्यकता होती है।

लेकिन वहाँ बहुत सारे समय क्षेत्र हैं। हम उन सभी को कैसे याद करते हैं? और हम कैसे जानते हैं कि हमारा सिस्टम किसी दिए गए समय क्षेत्र का समर्थन करता है?

सौभाग्य से, हम V$TIMEZONE_NAMES . को क्वेरी कर सकते हैं मान्य समय क्षेत्रों की सूची वापस करने के लिए देखें।

सभी समय क्षेत्र की जानकारी प्राप्त करें

निम्नलिखित कोड सभी पंक्तियों और स्तंभों को दृश्य से लौटाता है:

SELECT * FROM V$TIMEZONE_NAMES;

इस दृश्य में बहुत सारी पंक्तियाँ हैं, लेकिन यहाँ पहली 10 पंक्तियाँ कैसी दिखती हैं:

               TZNAME    TZABBREV    CON_ID 
_____________________ ___________ _________ 
Africa/Abidjan        LMT                 0 
Africa/Abidjan        GMT                 0 
Africa/Accra          LMT                 0 
Africa/Accra          GMT                 0 
Africa/Accra          +0020               0 
Africa/Addis_Ababa    LMT                 0 
Africa/Addis_Ababa    EAT                 0 
Africa/Addis_Ababa    +0230               0 
Africa/Addis_Ababa    +0245               0 
Africa/Algiers        LMT                 0 
...

हम देख सकते हैं कि प्रत्येक समय क्षेत्र क्षेत्र के नाम में एक से अधिक संगत संक्षिप्त नाम होते हैं। यह दिन के उजाले की बचत आदि जैसी चीजों को पूरा करता है।

यहाँ एक तालिका है जो बताती है कि कुछ संक्षिप्ताक्षरों का क्या अर्थ है:

<थ>अर्थ
समय क्षेत्र संक्षिप्त नाम
एलएमटी स्थानीय औसत समय
पीएमटी पेरिस माध्य समय
गीला पश्चिमी यूरोपीय समय
पश्चिम पश्चिमी यूरोपीय ग्रीष्मकालीन समय
सीईटी मध्य यूरोप का समय
CEST मध्य यूरोप ग्रीष्मकालीन समय
ईईटी पूर्वी यूरोप का समय
ईईएसटी पूर्वी यूरोप ग्रीष्मकालीन समय

सिर्फ क्षेत्र के नाम प्राप्त करें

हम DISTINCT . का उपयोग कर सकते हैं या UNIQUE बिना डुप्लीकेट के केवल समय क्षेत्र क्षेत्र के नाम वापस करने के लिए क्लॉज।

SELECT DISTINCT TZNAME 
FROM V$TIMEZONE_NAMES
ORDER BY TZNAME ASC;

पहली 10 पंक्तियाँ अब कैसी दिखती हैं:

               TZNAME 
_____________________ 
Africa/Abidjan        
Africa/Accra          
Africa/Addis_Ababa    
Africa/Algiers        
Africa/Asmara         
Africa/Asmera         
Africa/Bamako         
Africa/Bangui         
Africa/Banjul         
Africa/Bissau         
...

किसी दिए गए समय क्षेत्र के नाम के लिए सभी संक्षिप्ताक्षर प्राप्त करें

यहां एक क्वेरी का उदाहरण दिया गया है जो किसी दिए गए समय क्षेत्र के नाम के लिए सभी संक्षिप्ताक्षर देता है:

SELECT 
    TZNAME,
    TZABBREV
FROM V$TIMEZONE_NAMES
WHERE TZNAME LIKE '%Sydney%'
ORDER BY TZNAME ASC;

परिणाम:

             TZNAME    TZABBREV 
___________________ ___________ 
Australia/Sydney    LMT         
Australia/Sydney    AEDT        
Australia/Sydney    AEST        

समय क्षेत्र फ़ाइलों के बारे में

Oracle डाटाबेस में समय क्षेत्र के नाम समय क्षेत्र फाइलों में समाहित होते हैं।

आप V$TIMEZONE_FILE . को क्वेरी कर सकते हैं यह देखने के लिए देखें कि वर्तमान में डेटाबेस द्वारा किस समय क्षेत्र फ़ाइल का उपयोग किया जा रहा है।

उदाहरण:

SELECT * FROM V$TIMEZONE_FILE;

परिणाम:

          FILENAME    VERSION    CON_ID 
__________________ __________ _________ 
timezlrg_32.dat            32         0 

मेरा सिस्टम संस्करण 32 का उपयोग कर रहा है, जो कि Oracle 19c के लिए डिफ़ॉल्ट समय क्षेत्र फ़ाइल है (जो कि मैं उपयोग कर रहा हूं)। यह फ़ाइल निम्न स्थान पर स्थित है:$ORACLE_HOME/oracore/zoneinfo/timezlrg_32.dat

समय क्षेत्र फ़ाइलों के बारे में अधिक जानकारी के लिए समय क्षेत्र फ़ाइल चुनने के लिए Oracle के दस्तावेज़ देखें।


  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. .NET एप्लिकेशन के लिए Oracle प्रदाता कैसे चुनें?

  3. सुरक्षित कनेक्शन पर Oracle को SQL सर्वर से कनेक्ट करना

  4. Oracle में RR बनाम YY

  5. क्या डेटाबेस संरचना में परिवर्तन के लिए कोई संस्करण नियंत्रण प्रणाली है?