Oracle डेटाबेस में, NUMTODSINTERVAL()
फ़ंक्शन किसी संख्या को INTERVAL DAY TO SECOND
. में कनवर्ट करता है शाब्दिक।
सिंटैक्स
वाक्य रचना इस प्रकार है:
NUMTODSINTERVAL(n, 'interval_unit')
n
तर्क वह संख्या है जिसके लिए कनवर्ट करना है।
interval_unit
. के लिए मान n
. की इकाई निर्दिष्ट करता है और निम्न स्ट्रिंग मानों में से किसी एक को हल करना चाहिए:
- ‘
DAY
' - ‘
HOUR
' - ‘
MINUTE
' - ‘
SECOND
'
interval_unit
तर्क केस असंवेदनशील है।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT NUMTODSINTERVAL(1, 'SECOND')
FROM DUAL;
परिणाम:
+00 00:00:01.000000
यहां एक मिनट का उपयोग करने वाला एक और है:
SELECT NUMTODSINTERVAL(1, 'MINUTE')
FROM DUAL;
परिणाम:
+00 00:01:00.000000
आंशिक सेकंड
डिफ़ॉल्ट रूप से, रिटर्न की सटीकता 9 है। यहां एक है जो पहले तर्क में भिन्नात्मक सेकंड निर्दिष्ट करता है:
SELECT NUMTODSINTERVAL(10.123456789, 'SECOND')
FROM DUAL;
परिणाम:
+00 00:00:10.123456789
यदि हम इसे किसी अन्य अंतराल इकाई में बदलते हैं तो क्या होता है:
SELECT NUMTODSINTERVAL(10.123456789, 'DAY')
FROM DUAL;
परिणाम:
+10 02:57:46.666569600
अशक्त तर्क
पासिंग null
किसी भी तर्क के लिए null
. में परिणाम मिलते हैं :
SET NULL 'null';
SELECT
NUMTODSINTERVAL(1, null),
NUMTODSINTERVAL(null, 'SECOND')
FROM DUAL;
परिणाम:
NUMTODSINTERVAL(1,NULL) NUMTODSINTERVAL(NULL,'SECOND') __________________________ _________________________________ null null
डिफ़ॉल्ट रूप से, SQLcl और SQL*Plus जब भी null
. खाली स्थान लौटाते हैं SQL SELECT
. के परिणामस्वरूप होता है बयान।
हालांकि, आप SET NULL
. का उपयोग कर सकते हैं वापस करने के लिए एक अलग स्ट्रिंग निर्दिष्ट करने के लिए। यहाँ मैंने निर्दिष्ट किया है कि स्ट्रिंग null
लौटाया जाना चाहिए।
अनुपलब्ध तर्क
फ़ंक्शन को तर्कों की गलत संख्या के साथ कॉल करना, या बिना कोई तर्क पारित किए, एक त्रुटि उत्पन्न होती है:
SELECT NUMTODSINTERVAL()
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT NUMTODSINTERVAL() 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: