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: