Oracle डाटाबेस में, EXTRACT(datetime)
फ़ंक्शन डेटाटाइम या अंतराल अभिव्यक्ति से निर्दिष्ट डेटाटाइम फ़ील्ड का मान निकालता है और लौटाता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
EXTRACT( { YEAR
| MONTH
| DAY
| HOUR
| MINUTE
| SECOND
| TIMEZONE_HOUR
| TIMEZONE_MINUTE
| TIMEZONE_REGION
| TIMEZONE_ABBR
}
FROM { expr }
)
जहां expr
कोई भी अभिव्यक्ति है जो अनुरोधित फ़ील्ड के साथ संगत डेटाटाइम या अंतराल डेटा प्रकार का मूल्यांकन करती है।
expr
तर्क को एएनएसआई डेटाटाइम डेटा प्रकार के रूप में माना जाता है।
उदाहरण 1
फ़ंक्शन को प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT EXTRACT(YEAR FROM DATE '2027-10-03')
FROM DUAL;
परिणाम:
2027
उदाहरण 2
यहां एक उदाहरण दिया गया है जो TIMESTAMP
. से सेकंड और माइक्रोसेकंड निकालता है मूल्य:
SELECT
EXTRACT(SECOND FROM TIMESTAMP '2027-10-15 23:10:57.98321 +04:00') AS Result
FROM DUAL;
परिणाम:
57.98321
अंतराल
यहां एक उदाहरण दिया गया है जो वर्ष को एक अंतराल शाब्दिक से निकालता है:
SELECT EXTRACT(YEAR FROM INTERVAL '25-3' YEAR TO MONTH)
FROM DUAL;
परिणाम:
25
गलत फ़ील्ड निकालने का प्रयास करना
जब हम उस फ़ील्ड को निकालने का प्रयास करते हैं जो निर्दिष्ट मान में मौजूद नहीं है तो यहां क्या होता है:
SELECT
EXTRACT(SECOND FROM DATE '2027-10-15') AS Result
FROM DUAL;
परिणाम:
Error starting at line : 1 in command - SELECT EXTRACT(SECOND FROM DATE '2027-10-15') AS Result FROM DUAL Error at Command Line : 2 Column : 25 Error report - SQL Error: ORA-30076: invalid extract field for extract source 30076. 00000 - "invalid extract field for extract source" *Cause: The extract source does not contain the specified extract field. *Action:
सभी डेटा प्रकारों से सभी दिनांक भागों को नहीं निकाला जा सकता है। प्रत्येक दिए गए डेटा प्रकार के लिए स्वीकृत दिनांक भागों के लिए Oracle दस्तावेज़ देखें।