Oracle डेटाबेस में हम LAST_DAY()
. का उपयोग कर सकते हैं किसी दिए गए महीने के अंतिम दिन को वापस करने के लिए कार्य करें। यह किसी निर्दिष्ट तिथि के आधार पर चालू माह का अंतिम दिन या महीने का अंतिम दिन हो सकता है।
उदाहरण
SELECT LAST_DAY(date '2035-02-15')
FROM DUAL;
परिणाम:
28-FEB-35
महीने का अंतिम दिन सत्र पैरामीटर NLS_CALENDAR
. द्वारा परिभाषित किया गया है . यह पता लगाने के लिए कि आपका सत्र किस कैलेंडर का उपयोग कर रहा है, एनएलएस पैरामीटर्स के मूल्यों की जांच कैसे करें देखें। मेरा ग्रेगोरियन कैलेंडर का उपयोग कर रहा है।
यहां बताया गया है कि जब हम तारीख को एक साल आगे बढ़ाते हैं तो क्या होता है:
SELECT LAST_DAY(date '2036-02-15')
FROM DUAL;
परिणाम:
29-FEB-36
अगला वर्ष एक लीप वर्ष है, और इसलिए हमें उस वर्ष फरवरी में 29 दिन मिलते हैं।
ध्यान दें कि LAST_DAY()
फ़ंक्शन एक DATE
लौटाता है मूल्य। यह सच है भले ही हम TIMESTAMP
. पास कर दें मूल्य:
SELECT LAST_DAY(TIMESTAMP '2036-07-15 15:30:45.12345')
FROM DUAL;
परिणाम:
31-JUL-36
वर्तमान माह
इस उदाहरण को चालू माह का अंतिम दिन मिलता है:
SELECT
SYSDATE,
LAST_DAY(SYSDATE)
FROM DUAL;
परिणाम:
SYSDATE | LAST_DAY(SYSDATE) |
---|---|
12-अप्रैल-22 | 30-अप्रैल-22 |
इस मामले में मैंने SYSDATE
. का इस्तेमाल किया वर्तमान तिथि के लिए।
अगले महीने
हम ADD_MONTHS()
. का उपयोग कर सकते हैं वर्तमान तिथि में एक या अधिक महीने जोड़ने का कार्य:
SELECT
SYSDATE,
LAST_DAY(ADD_MONTHS(SYSDATE, 1))
FROM DUAL;
परिणाम:
SYSDATE | LAST_DAY(ADD_MONTHS(SYSDATE,1)) |
---|---|
12-अप्रैल-22 | 31-मई-22 |
इस मामले में, हमें अगले महीने का आखिरी दिन मिला।
पिछला महीना
पिछले महीने का अंतिम दिन प्राप्त करने के लिए हम एक नकारात्मक मान जोड़ सकते हैं:
SELECT
SYSDATE,
LAST_DAY(ADD_MONTHS(SYSDATE, -1))
FROM DUAL;
परिणाम:
SYSDATE | LAST_DAY(ADD_MONTHS(SYSDATE,-1)) |
---|---|
12-अप्रैल-22 | 31-मार्च-22 |