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

TZ_OFFSET () Oracle में फ़ंक्शन

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

सिंटैक्स

वाक्य रचना इस प्रकार है:

TZ_OFFSET({ 'time_zone_name'
          | '{ + | - } hh : mi'
          | SESSIONTIMEZONE
          | DBTIMEZONE
          }
         )

उदाहरण

प्रदर्शित करने के लिए यहां कुछ उदाहरण दिए गए हैं।

समय क्षेत्र क्षेत्र का नाम

आप एक मान्य समय क्षेत्र क्षेत्र का नाम पास कर सकते हैं:

SELECT TZ_OFFSET('Australia/Darwin')
FROM DUAL;

परिणाम:

+09:30

अपने सिस्टम में समर्थित समय क्षेत्रों की सूची प्राप्त करने का तरीका यहां बताया गया है।

समय क्षेत्र ऑफ़सेट

आप एक टाइम ज़ोन ऑफ़सेट पास कर सकते हैं, जिस स्थिति में यह बस अपने आप वापस आ जाता है:

SELECT TZ_OFFSET('-10:00')
FROM DUAL;

परिणाम:

-10:00

SESSIONTIMEZONE समारोह

SESSIONTIMEZONE फ़ंक्शन वर्तमान सत्र का समय क्षेत्र देता है। आप इसका उपयोग अपने वर्तमान सत्र के समय क्षेत्र को ऑफसेट करने के लिए कर सकते हैं।

उदाहरण:

SELECT 
    SESSIONTIMEZONE,
    TZ_OFFSET(SESSIONTIMEZONE)
FROM DUAL;

मेरे सत्र में परिणाम:

      SESSIONTIMEZONE    TZ_OFFSET(SESSIONTIMEZONE) 
_____________________ _____________________________ 
Australia/Brisbane    +10:00                       

DBTIMEZONE समारोह

DBTIMEZONE फ़ंक्शन डेटाबेस का समय क्षेत्र लौटाता है। यह SESSIONTIMEZONE के समान हो भी सकता है और नहीं भी आपके सिस्टम पर।

उदाहरण:

SELECT 
    DBTIMEZONE,
    TZ_OFFSET(DBTIMEZONE)
FROM DUAL;

परिणाम:

   DBTIMEZONE    TZ_OFFSET(DBTIMEZONE) 
_____________ ________________________ 
+00:00        +00:00                  

अशक्त तर्क

पासिंग null परिणाम null :

SET NULL 'null';
SELECT TZ_OFFSET(null)
FROM DUAL;

परिणाम:

null

डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी null . खाली स्थान लौटाते हैं SQL SELECT . के परिणामस्वरूप होता है बयान।

हालांकि, आप SET NULL . का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null लौटाया जाना चाहिए।

अनुपलब्ध तर्क

फ़ंक्शन को तर्कों की गलत संख्या के साथ कॉल करना, या बिना कोई तर्क पारित किए, एक त्रुटि उत्पन्न होती है:

SELECT TZ_OFFSET()
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT TZ_OFFSET()
FROM DUAL
Error at Command Line : 1 Column : 8
Error report -
SQL Error: ORA-00909: invalid number of arguments
00909. 00000 -  "invalid number of arguments"
*Cause:    
*Action:

  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 SQL डेवलपर में परिवर्तनीय प्रतिस्थापन से कैसे बचें

  2. समवर्ती अद्यतन हाइबरनेट में हैंडलिंग

  3. Oracle में गतिरोध

  4. विंडोज 64 बिट के लिए Oracle 11g एक्सप्रेस संस्करण?

  5. Oracle डेटाबेस में PL/SQL ब्लॉक सदस्य के रूप में VARRAYs कैसे बनाएं?