SQLite में, हम किसी दिए गए महीने के अंतिम दिन की गणना करने के लिए निम्न विधि का उपयोग कर सकते हैं।
हम इसे या तो वर्तमान तिथि पर या किसी अन्य विशिष्ट तिथि पर आधारित कर सकते हैं।
चालू महीने का आखिरी दिन
यहां एक उदाहरण दिया गया है जो चालू माह का अंतिम दिन लौटाता है:
SELECT DATE('now', 'start of month', '+1 month', '-1 day');
परिणाम:
2022-03-31
यह DATE()
. का उपयोग करता है हम जो परिणाम चाहते हैं उसे वापस करने के लिए कार्य करते हैं। 'now'
तर्क वर्तमान तिथि और 'start of month'
. लौटाता है तर्क इसे महीने की शुरुआत में संशोधित करता है। फिर हम '+1 month'
. का उपयोग करते हैं महीने की शुरुआत में एक महीना जोड़ने के लिए (जो इसे अगले महीने की शुरुआत में आगे बढ़ा देगा), फिर हम उस तारीख को एक दिन कम कर देते हैं (इसे शुरुआती महीने के अंत में वापस लाने के लिए)।
किसी निर्दिष्ट महीने का अंतिम दिन
लेकिन जैसा कि उल्लेख किया गया है, हम केवल चालू माह के अंत तक सीमित नहीं हैं। हम किसी भी तारीख को निर्दिष्ट कर सकते हैं, और यह उस तारीख के आधार पर महीने के अंत में वापस आ जाएगी।
यहां कुछ उदाहरण दिए गए हैं:
SELECT
DATE('2023-02-10', 'start of month', '+1 month', '-1 day') AS Feb,
DATE('2023-11-10', 'start of month', '+1 month', '-1 day') AS Nov,
DATE('2023-12-10', 'start of month', '+1 month', '-1 day') AS Dec;
परिणाम:
Feb Nov Dec ---------- ---------- ---------- 2023-02-28 2023-11-30 2023-12-31
हम देख सकते हैं कि SQLite इतना स्मार्ट है कि यह पता लगा सकता है कि प्रत्येक महीने में कितने दिन होते हैं। जब हम '+1 month'
. का उपयोग करते हैं , SQLite जानता है कि प्रत्येक महीने में कितने दिन होते हैं। हम देख सकते हैं कि फरवरी में 28 दिन, 30 नवंबर और दिसंबर में 31 दिन होते हैं।
यदि हम मूल तिथि को आगे बढ़ाकर 2024 कर दें, तो हम देख सकते हैं कि उस वर्ष फरवरी में 29 दिन होते हैं:
SELECT
DATE('2024-02-10', 'start of month', '+1 month', '-1 day') AS Feb,
DATE('2024-11-10', 'start of month', '+1 month', '-1 day') AS Nov,
DATE('2024-12-10', 'start of month', '+1 month', '-1 day') AS Dec;
परिणाम:
Feb Nov Dec ---------- ---------- ---------- 2024-02-29 2024-11-30 2024-12-31