SQL सर्वर 2012 से प्रारंभ करते हुए, EOMONTH()
फ़ंक्शन आपको किसी भी महीने का अंतिम दिन खोजने की अनुमति देता है। यह दो तर्क स्वीकार करता है; एक आरंभ तिथि के लिए, और एक वैकल्पिक तर्क यह निर्दिष्ट करने के लिए कि उस तिथि में कितने महीने जोड़ने हैं।
यह लेख ऐसे उदाहरण प्रदान करता है जो प्रदर्शित करते हैं कि EOMONTH()
. कैसे SQL सर्वर में काम करता है।
सिंटैक्स
सबसे पहले, यहाँ सिंटैक्स है:
EOMONTH ( start_date [, month_to_add ] )
जहां start_date
वह तारीख है जिसके लिए आप महीने का आखिरी दिन खोजना चाहते हैं, और month_to_add
आप प्रारंभ तिथि में कितने महीने (यदि कोई हो) जोड़ना चाहेंगे।
EOMONTH()
फ़ंक्शन तारीख . में एक मान लौटाता है डेटा प्रकार।
उदाहरण 1
यह कैसे काम करता है, यह दिखाने के लिए यहां एक बुनियादी उदाहरण दिया गया है:
SELECT EOMONTH( '2025-01-01' ) AS Result;
परिणाम:
+------------+ | Result | |------------| | 2025-01-31 | +------------+
इस मामले में, हमारा प्रारंभ महीना जनवरी है, इसलिए परिणाम हमें दिखाता है कि जनवरी का अंतिम दिन 31 है।
उदाहरण 2 - एक महीना जोड़ें
जोड़ने के लिए कितने महीने निर्दिष्ट करने के लिए दूसरे तर्क का उपयोग करने का एक उदाहरण यहां दिया गया है। इस मामले में, मैं शुरू होने की तारीख में एक महीना जोड़ता हूं:
SELECT EOMONTH( '2025-01-01', 1 ) AS Result;
परिणाम:
+------------+ | Result | |------------| | 2025-02-28 | +------------+
और परिणाम हमें फरवरी का आखिरी दिन दिखाता है। ऐसा इसलिए है क्योंकि हमने शुरू होने की तारीख में एक महीना जोड़ा है।
उदाहरण 3 - एक महीना घटाएं
आप प्रारंभ तिथि से एक या अधिक महीनों को घटाने के लिए ऋणात्मक संख्या का उपयोग कर सकते हैं। इस तरह:
SELECT EOMONTH( '2025-01-01', -1 ) AS Result;
परिणाम:
+------------+ | Result | |------------| | 2024-12-31 | +------------+
उदाहरण 4 - सिस्टम दिनांक का उपयोग करना
वर्तमान तिथि से महीने के अंत को प्राप्त करने का एक उदाहरण यहां दिया गया है:
SELECT SYSDATETIME() AS 'Current Date', EOMONTH( SYSDATETIME() ) AS 'End of Month';
परिणाम:
+-----------------------------+----------------+ | Current Date | End of Month | |-----------------------------+----------------| | 2018-06-04 22:53:32.7694823 | 2018-06-30 | +-----------------------------+----------------+
जैसा कि बताया गया है, EOMONTH()
फ़ंक्शन तारीख . में अपना मान लौटाता है डेटा प्रकार। यही कारण है कि इस उदाहरण में परिणाम शुरू होने की तारीख और महीने के अंत को कैसे प्रदर्शित किया जाता है, के बीच एक विसंगति दिखाता है।
इस मामले में, हमारी आरंभ तिथि SYSDATETIME()
. के साथ उत्पन्न होती है फ़ंक्शन, जो अपना मान datetime2(7) . के रूप में लौटाता है डेटा प्रकार। इस डेटा प्रकार में समय घटक के साथ-साथ दिनांक भी शामिल है। तारीख डेटा प्रकार में केवल दिनांक घटक शामिल होता है।
आप किसी भी समय FORMAT()
. का उपयोग करके दिनांक को प्रारूपित कर सकते हैं दिनांक के विभिन्न भागों को निकालने के लिए फ़ंक्शन, या विभिन्न अन्य TSQL फ़ंक्शंस का उपयोग करें।
उदाहरण 5 - महीने के अंत तक उलटी गिनती
आप EOMONTH()
. को भी जोड़ सकते हैं वांछित परिणाम प्राप्त करने के लिए अन्य कार्यों के साथ कार्य करें।
यहां एक उदाहरण दिया गया है जो महीने के अंत तक कितने दिन, घंटे, मिनट और सेकंड लौटाता है:
SELECT FORMAT(SYSDATETIME(), 'dd MMMM') AS 'Current Date', FORMAT(EOMONTH( SYSDATETIME() ), 'dd MMMM') AS 'EOM', DATEDIFF(day, SYSDATETIME(), EOMONTH( SYSDATETIME() )) AS 'Days', DATEDIFF(hour, SYSDATETIME(), EOMONTH( SYSDATETIME() )) AS 'Hours', DATEDIFF(minute, SYSDATETIME(), EOMONTH( SYSDATETIME() )) AS 'Minutes', DATEDIFF(second, SYSDATETIME(), EOMONTH( SYSDATETIME() )) AS 'Seconds';
परिणाम:
+----------------+---------+--------+---------+-----------+-----------+ | Current Date | EOM | Days | Hours | Minutes | Seconds | |----------------+---------+--------+---------+-----------+-----------| | 04 June | 30 June | 26 | 601 | 36055 | 2163252 | +----------------+---------+--------+---------+-----------+-----------+