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

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

Oracle डेटाबेस में, NEW_TIME() फ़ंक्शन दिनांक को एक निर्दिष्ट समय क्षेत्र से दूसरे निर्दिष्ट समय क्षेत्र में परिवर्तित करता है, और परिणाम देता है।

सिंटैक्स

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

NEW_TIME(date, timezone1, timezone2)

तो, फ़ंक्शन समय क्षेत्र में दिनांक और समय लौटाता है timezone2 जब समय क्षेत्र में दिनांक और समय timezone1 date हैं

ध्यान दें कि इस फ़ंक्शन का उपयोग करने से पहले, आपको NLS_DATE_FORMAT सेट करना होगा 24 घंटे का समय प्रदर्शित करने के लिए पैरामीटर।

तर्क timezone1 और timezone2 इनमें से कोई भी टेक्स्ट स्ट्रिंग हो सकती है:

AST या ADT अटलांटिक मानक या दिन के उजाले का समय
BST या BDT बेरिंग मानक या दिन के उजाले का समय
CST या CDT केंद्रीय मानक या दिन के उजाले का समय
EST या EDT पूर्वी मानक या दिन के उजाले का समय
GMT ग्रीनविच माध्य समय
HST या HDT अलास्का-हवाई मानक समय या दिन के उजाले का समय
MST या MDT पर्वत मानक या दिन के उजाले का समय
NST न्यूफ़ाउंडलैंड मानक समय
PST या PDT प्रशांत मानक या दिन के उजाले का समय
YST या YDT युकोन मानक या दिन के उजाले का समय

उदाहरण

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

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYY-MM-DD HH24:MI:SS';

SELECT
    NEW_TIME(
        TO_DATE('2030-03-01 12:30:45', 'YYYY-MM-DD HH24:MI:SS'), 
        'AST', 
        'PST'
        )
FROM DUAL;

परिणाम:

2030-03-01 08:30:45

जैसा कि बताया गया है, इस का उपयोग करते समय NLS_DATE_FORMAT को कार्य करें 24 घंटे के समय को प्रदर्शित करने के लिए पैरामीटर को सेट करने की आवश्यकता है, इसलिए उपरोक्त उदाहरण में पहली पंक्ति यही करती है। यदि आपके सत्र का NLS_DATE_FORMAT . है तो आप इस पंक्ति को छोड़ सकते हैं पैरामीटर पहले से ही 24 घंटे के समय का उपयोग करता है। वर्तमान सत्र के लिए दिनांक प्रारूप सेट करने के अधिक उदाहरणों के लिए अपने सत्र का दिनांक प्रारूप कैसे सेट करें देखें।

अशक्त तर्क

यदि कोई तर्क null है , परिणाम null . है :

SET NULL 'null';

SELECT
    NEW_TIME(null, 'AST', 'ADT') AS "1",
    NEW_TIME(TO_DATE('2030-03-01 12:30:45', 'YYYY-MM-DD HH24:MI:SS'), null, 'ADT') AS "2",
    NEW_TIME(TO_DATE('2030-03-01 12:30:45', 'YYYY-MM-DD HH24:MI:SS'), 'AST', null) AS "3"
FROM DUAL;

परिणाम:

      1       2       3 
_______ _______ _______ 
null    null    null   

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

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

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

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

SELECT NEW_TIME()
FROM DUAL;

परिणाम:

Error starting at line : 1 in command -
SELECT NEW_TIME()
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 - मैं किस TNS नाम फ़ाइल का उपयोग कर रहा हूँ?

  2. अनुक्रम और ट्रिगर के साथ oracle autoincrement सही ढंग से काम नहीं कर रहा है

  3. Oracle में एकाधिक पंक्तियाँ सम्मिलित करने के 4 तरीके

  4. Oracle SQL में 'YYYY' और 'RRRR' में क्या अंतर है?

  5. Oracle sql में IPv4 एड्रेस को 4 नंबरों में विभाजित करें