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

Oracle में डेटाटाइम मान से समय क्षेत्र वापस करने के 3 तरीके

Oracle डेटाबेस में डेटाटाइम मान से समय क्षेत्र की जानकारी वापस करने के तीन तरीके नीचे दिए गए हैं।

EXTRACT() समारोह

EXTRACT(datetime) फ़ंक्शन का उपयोग डेटाटाइम मान से विभिन्न डेटाटाइम भागों को निकालने के लिए किया जाता है। इसमें समय क्षेत्र की जानकारी शामिल है।

यहां एक उदाहरण दिया गया है:

SELECT EXTRACT(
TIMEZONE_REGION FROM TIMESTAMP '2035-09-26 10:30:45 Australia/Darwin'
)
FROM DUAL;

परिणाम:

Australia/Darwin

इस मामले में, मैंने TIMEZONE_REGION . का उपयोग किया है समय क्षेत्र क्षेत्र निकालने का तर्क।

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

  • TIMEZONE_HOUR
  • TIMEZONE_MINUTE
  • TIMEZONE_REGION
  • TIMEZONE_ABBR

TIMEZONE_OFFSET . का उपयोग करना भी संभव है तर्क, हालांकि यह इस फ़ंक्शन के लिए Oracle के प्रलेखित सिंटैक्स में प्रकट नहीं होता है।

समय क्षेत्र का संक्षिप्त नाम प्राप्त करने का एक उदाहरण यहां दिया गया है:

SELECT 
    EXTRACT(TIMEZONE_ABBR FROM TIMESTAMP '2035-09-26 10:30:45 Australia/Darwin')
FROM DUAL;

परिणाम:

ACST

ध्यान दें कि, उपरोक्त समय क्षेत्र तर्कों का उपयोग करते समय, डेटाटाइम मान को डेटा प्रकार TIMESTAMP WITH TIME ZONE की अभिव्यक्ति के लिए मूल्यांकन करना चाहिए। या TIMESTAMP WITH LOCAL TIME ZONE

EXTRACT() फ़ंक्शन अन्य डेटाटाइम भागों के लिए तर्क भी स्वीकार करता है, जैसे YEAR , MONTH , HOUR , आदि.

TO_CHAR(datetime) समारोह

हम TO_CHAR(datetime) . का भी उपयोग कर सकते हैं डेटाटाइम मान से समय क्षेत्र की जानकारी प्राप्त करने के लिए एक वैकल्पिक विधि के रूप में कार्य करें।

यह फ़ंक्शन डेटाटाइम या अंतराल मान को इसके पहले तर्क के रूप में स्वीकार करता है, और प्रारूप मॉडल को इसके दूसरे तर्क के रूप में स्वीकार करता है। फ़ंक्शन तब मान को VARCHAR2 . के डेटा प्रकार में परिवर्तित करता है निर्दिष्ट प्रारूप में।

प्रारूप मॉडल उस प्रारूप को निर्दिष्ट करता है जिसके लिए डेटाटाइम/अंतराल मान वापस करना है। प्रारूप मॉडल में एक या अधिक प्रारूप तत्व होते हैं। यह हमें हमारे वांछित प्रारूप को प्रतिबिंबित करने के लिए परिणामों को सावधानीपूर्वक तैयार करने में सक्षम बनाता है।

यदि हम केवल समय क्षेत्र की जानकारी वापस करना चाहते हैं, तो हम उस विशिष्ट उद्देश्य के लिए प्रारूप तत्वों में से एक का उपयोग कर सकते हैं।

कुछ अलग प्रारूप तत्व हैं जिनका उपयोग हम समय क्षेत्र की जानकारी को डेटाटाइम मान से वापस करते समय कर सकते हैं।

आइए TZR से शुरू करते हैं प्रारूप तत्व:

SELECT TO_CHAR(
    TIMESTAMP '2035-09-26 10:30:45 Australia/Darwin', 
    'TZR'
    )
FROM DUAL;

परिणाम:

Australia/Darwin

यह प्रारूप तत्व समय क्षेत्र क्षेत्र लौटाता है। यदि डेटाटाइम मान में केवल समय क्षेत्र ऑफ़सेट शामिल है, तो इसके बजाय उसे वापस कर दिया जाता है।

TZD प्रारूप तत्व का उपयोग डेलाइट बचत जानकारी वापस करने के लिए किया जा सकता है। यह संक्षिप्त रूप में समय क्षेत्र की जानकारी देता है।

उदाहरण:

SELECT TO_CHAR(
    TIMESTAMP '2035-09-26 10:30:45 Australia/Darwin', 
    'TZD'
    )
FROM DUAL;

परिणाम:

ACST

वैकल्पिक रूप से, हम TZH . का उपयोग कर सकते हैं और TZM समय क्षेत्र ऑफ़सेट के आधार पर समय क्षेत्र घंटे और मिनट वापस करने के लिए तत्वों को प्रारूपित करें।

SELECT TO_CHAR(
    TIMESTAMP '2035-09-26 10:30:45 Australia/Darwin', 
    'TZH:TZM'
    )
FROM DUAL;

परिणाम:

+09:30

TZ_OFFSET() समारोह

TZ_OFFSET() फ़ंक्शन समय क्षेत्र ऑफ़सेट देता है जो कथन के निष्पादित होने की तिथि के आधार पर तर्क के अनुरूप होता है।

यहां TZ_OFFSET() का उपयोग करने का एक उदाहरण दिया गया है EXTRACT() द्वारा लौटाए गए समय क्षेत्र क्षेत्र के आधार पर समय क्षेत्र ऑफ़सेट लौटाने के लिए समारोह:

SELECT TZ_OFFSET(
    EXTRACT(TIMEZONE_REGION FROM TIMESTAMP '2035-09-26 10:30:45 Australia/Darwin')
)
FROM DUAL;

परिणाम:

+09:30

हम SESSIONTIMEZONE . भी पास कर सकते हैं या DBTIMEZONE करने के लिए TZ_OFFSET() हमारे वर्तमान सत्र और डेटाबेस के समय क्षेत्र को क्रमशः वापस करने के लिए:

SELECT 
    TZ_OFFSET(SESSIONTIMEZONE) AS "Session",
    TZ_OFFSET(DBTIMEZONE) AS "DB"
FROM DUAL;

परिणाम:

   Session        DB 
__________ _________ 
+10:00     +00:00    

  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. SQL ट्रेस, Oracle में 10046 घटना:trcsess, tkprof उपयोगिता

  4. Oracle के लिए NLS_NCHAR_CHARACTERSET और NLS_CHARACTERSET के बीच अंतर

  5. ओरेकल नंबर प्रारूप पर अवांछित अग्रणी रिक्त स्थान