नीचे दो फ़ंक्शन दिए गए हैं जिनका उपयोग Oracle डेटाबेस में डेटाटाइम मान से सेकंड के हिस्से को वापस करने के लिए किया जा सकता है।
द EXTRACT()
समारोह
EXTRACT(datetime)
फ़ंक्शन का उपयोग डेटाटाइम मान से विभिन्न डेटाटाइम भागों को निकालने के लिए किया जाता है। इसमें सेकंड का हिस्सा शामिल है।
यहां एक उदाहरण दिया गया है:
SELECT
EXTRACT(SECOND FROM TIMESTAMP '2035-01-01 10:15:37')
FROM DUAL;
परिणाम:
37
यह SECOND
है कीवर्ड जो डेटाटाइम मान से सेकंड भाग निकालता है। इसमें कोई भी भिन्नात्मक सेकंड शामिल होंगे:
SELECT
EXTRACT(
SECOND FROM TIMESTAMP '2035-01-01 10:15:37.123456789'
)
FROM DUAL;
परिणाम:
37.123456789
हम अन्य दिनांक भागों को प्रासंगिक कीवर्ड में बदलकर प्राप्त कर सकते हैं। उदाहरण के लिए, YEAR
, MONTH
, HOUR
, MINUTE
, आदि.
हम फ़ंक्शन का उपयोग अन्य डेटाटाइम मानों के साथ भी कर सकते हैं, जैसे कि DATE
।
TO_CHAR(datetime)
समारोह
हम TO_CHAR(datetime)
. का भी उपयोग कर सकते हैं डेटाटाइम मान से सेकंड घटक प्राप्त करने के लिए वैकल्पिक विधि के रूप में कार्य करें।
यह फ़ंक्शन डेटाटाइम या अंतराल मान को इसके पहले तर्क के रूप में स्वीकार करता है, और प्रारूप मॉडल को इसके दूसरे तर्क के रूप में स्वीकार करता है। फ़ंक्शन तब मान को VARCHAR2
. के डेटा प्रकार में परिवर्तित करता है निर्दिष्ट प्रारूप में।
प्रारूप मॉडल उस प्रारूप को निर्दिष्ट करता है जिसके लिए डेटाटाइम/अंतराल मान वापस करना है। प्रारूप मॉडल में एक या अधिक प्रारूप तत्व होते हैं। यह हमें हमारे वांछित प्रारूप को प्रतिबिंबित करने के लिए परिणामों को सावधानीपूर्वक तैयार करने में सक्षम बनाता है।
यदि हम केवल सेकंड वापस करना चाहते हैं, तो हम उस घटक को वापस करने वाले प्रारूप तत्वों में से एक का उपयोग कर सकते हैं।
कुछ अलग प्रारूप तत्व हैं जिनका उपयोग हम सेकेंड घटक को डेटाटाइम मान से वापस करते समय कर सकते हैं।
सबसे स्पष्ट है SS
प्रारूप तत्व:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SS')
FROM DUAL;
परिणाम:
37
जैसा कि हम देख सकते हैं, SS
प्रारूप तत्व केवल सेकंड का हिस्सा देता है, लेकिन आंशिक सेकंड नहीं।
आंशिक सेकंड
यदि हम भिन्नात्मक सेकंड शामिल करना चाहते हैं, तो हम FF
. का उपयोग कर सकते हैं प्रारूप तत्व। हम X
. का भी उपयोग कर सकते हैं मूलांक वर्ण निर्दिष्ट करने के लिए (संकेत का उपयोग पूर्णांक भाग को भिन्नात्मक भाग से अलग करने के लिए किया जाता है):
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;
परिणाम:
37.123456789
FF
. में किसी संख्या को जोड़कर सटीकता को सीमित करना भी संभव है भाग:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF5')
FROM DUAL;
परिणाम:
37.12345
संख्या 1
. हो सकती है 9
. के माध्यम से ।
जबकि आप स्पष्ट रूप से अपना स्वयं का मूलांक वर्ण प्रदान कर सकते हैं - उदाहरण के लिए, एक पूर्ण विराम (.
), X
प्रारूप तत्व विभिन्न भाषाओं/क्षेत्रों में पोर्टिंग के लिए उपयोगी हो सकता है।
जब मैंने उपरोक्त उदाहरण चलाए, तो मेरा NLS_TERRITORY
पैरामीटर AUSTRALIA
. पर सेट किया गया था , जिसके परिणामस्वरूप मूलांक वर्ण पूर्ण विराम हो गया।
जब मैं अपना NLS_TERRITORY
बदलता हूं तो यह होता है GERMANY
. के लिए पैरामीटर :
ALTER SESSION SET NLS_TERRITORY = 'GERMANY';
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 10:15:37.123456789', 'SSXFF')
FROM DUAL;
परिणाम:
37,123456789
अब मूलांक वर्ण अल्पविराम है।
मध्यरात्रि के बाद के सेकंड
हम SSSSS
. का उपयोग कर सकते हैं आधी रात के बाद के सेकंड वापस करने के लिए:
SELECT
TO_CHAR(TIMESTAMP '2035-01-01 00:01:05', 'SSSSS')
FROM DUAL;
परिणाम:
00065