मारियाडीबी में, LAST_DAY()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो किसी निश्चित तिथि के लिए महीने का अंतिम दिन लौटाता है।
यह एक तर्क को स्वीकार करता है, जो वह तारीख है जिसके लिए आप महीने का अंतिम दिन खोजना चाहते हैं।
सिंटैक्स
वाक्य रचना इस प्रकार है:
LAST_DAY(date)
जहां date
वह दिनांक अभिव्यक्ति है जिसके लिए आप महीने का अंतिम दिन खोजना चाहते हैं।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT LAST_DAY('2030-02-01');
परिणाम:
+------------------------+ | LAST_DAY('2030-02-01') | +------------------------+ | 2030-02-28 | +------------------------+
इस मामले में, हम फरवरी में एक तिथि का उपयोग कर रहे हैं। जैसा कि यह पता चला है, उस वर्ष फरवरी में 28 दिन होते हैं।
अगर हम तारीख को अगले लीप वर्ष तक बढ़ा देते हैं तो क्या होगा:
SELECT LAST_DAY('2032-02-01');
परिणाम:
+------------------------+ | LAST_DAY('2032-02-01') | +------------------------+ | 2032-02-29 | +------------------------+
डेटाटाइम मान
यह डेटाटाइम मानों के साथ भी काम करता है:
SELECT LAST_DAY('2030-02-01 10:30:45');
परिणाम:
+---------------------------------+ | LAST_DAY('2030-02-01 10:30:45') | +---------------------------------+ | 2030-02-28 | +---------------------------------+
शून्य तिथियां
शून्य तिथियों का परिणाम null
होता है .
उदाहरण:
SELECT LAST_DAY('0000-00-00');
परिणाम:
+------------------------+ | LAST_DAY('0000-00-00') | +------------------------+ | NULL | +------------------------+
संख्यात्मक तिथियां
तिथियों को एक संख्या के रूप में पारित करना भी संभव है, जब तक कि यह एक तिथि के रूप में समझ में आता है।
उदाहरण
SELECT LAST_DAY(20301125);
परिणाम:
+--------------------+ | LAST_DAY(20301125) | +--------------------+ | 2030-11-30 | +--------------------+
या निम्नलिखित भी (जो दो अंकों वाले वर्ष का उपयोग करता है):
SELECT LAST_DAY(301125);
परिणाम:
+------------------+ | LAST_DAY(301125) | +------------------+ | 2030-11-30 | +------------------+
लेकिन इसे एक तारीख के रूप में समझना चाहिए। अगर मैं दिन के हिस्से को अमान्य दिन में बढ़ा दूं तो क्या होगा:
SELECT LAST_DAY(20301135);
परिणाम:
+--------------------+ | LAST_DAY(20301135) | +--------------------+ | NULL | +--------------------+ 1 row in set, 1 warning (0.000 sec)
हम इस तरह चेतावनी की जांच कर सकते हैं:
SHOW WARNINGS;
परिणाम:
+---------+------+--------------------------------------+ | Level | Code | Message | +---------+------+--------------------------------------+ | Warning | 1292 | Incorrect datetime value: '20301135' | +---------+------+--------------------------------------+
अन्य सीमांकक
आप तिथि के लिए अन्य सीमांकक का उपयोग कर सकते हैं। जब तारीखों पर सीमांकक की बात आती है तो मारियाडीबी काफी क्षमाशील है। यहां कुछ मान्य उदाहरण दिए गए हैं:
SELECT
LAST_DAY('2030/06/25'),
LAST_DAY('2030,06,25'),
LAST_DAY('2030:06:25'),
LAST_DAY('2030;06!25');
परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
LAST_DAY('2030/06/25'): 2030-06-30 LAST_DAY('2030,06,25'): 2030-06-30 LAST_DAY('2030:06:25'): 2030-06-30 LAST_DAY('2030;06!25'): 2030-06-30
वर्तमान तिथि
हम NOW()
pass पास कर सकते हैं वर्तमान तिथि का उपयोग करने के लिए डेटाटाइम तर्क के रूप में:
SELECT
NOW(),
LAST_DAY(NOW());
परिणाम:
+---------------------+-----------------+ | NOW() | LAST_DAY(NOW()) | +---------------------+-----------------+ | 2021-05-18 09:39:01 | 2021-05-31 | +---------------------+-----------------+
अमान्य तर्क
अमान्य तर्क पारित करने पर, LAST_DAY()
रिटर्न null
:
SELECT LAST_DAY('2030-65-78');
परिणाम:
+------------------------+ | LAST_DAY('2030-65-78') | +------------------------+ | NULL | +------------------------+ 1 row in set, 1 warning (0.000 sec)
चेतावनी की जाँच करें:
SHOW WARNINGS;
परिणाम:
+---------+------+----------------------------------------+ | Level | Code | Message | +---------+------+----------------------------------------+ | Warning | 1292 | Incorrect datetime value: '2030-65-78' | +---------+------+----------------------------------------+
अनुपलब्ध तर्क
कॉलिंग LAST_DAY()
तर्कों की गलत संख्या के साथ, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT LAST_DAY();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LAST_DAY'
और दूसरा उदाहरण:
SELECT LAST_DAY('2030-12-10', '2031-12-10');
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'LAST_DAY'