मारियाडीबी में, MONTH()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो किसी दिए गए दिनांक अभिव्यक्ति से माह लौटाता है।
यह एक तर्क को स्वीकार करता है, जिस तारीख से आप उस महीने को निकालना चाहते हैं।
यह महीने को 1
. श्रेणी में एक संख्या के रूप में लौटाता है करने के लिए 12
जनवरी से दिसंबर के लिए। अगर तारीख में शून्य महीने का हिस्सा है (उदाहरण के लिए 0000-00-00
या 2025-00-00
), परिणाम 0
. है ।
सिंटैक्स
वाक्य रचना इस प्रकार है:
MONTH(date)
जहां date
माह प्राप्त करने के लिए दिनांक अभिव्यक्ति है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT MONTH('2030-08-01');
परिणाम:
+---------------------+ | MONTH('2030-08-01') | +---------------------+ | 8 | +---------------------+
डेटाटाइम मान
यह डेटाटाइम मानों के साथ भी काम करता है:
SELECT MONTH('2030-08-01 10:30:45');
परिणाम:
+------------------------------+ | MONTH('2030-08-01 10:30:45') | +------------------------------+ | 8 | +------------------------------+
शून्य महीने
शून्य महीने का परिणाम 0
. है .
उदाहरण:
SELECT MONTH('2030-00-00');
परिणाम:
+---------------------+ | MONTH('2030-00-00') | +---------------------+ | 0 | +---------------------+
संख्यात्मक तिथियां
तिथियों को एक संख्या के रूप में पारित करना भी संभव है, जब तक कि यह एक तिथि के रूप में समझ में आता है।
उदाहरण
SELECT MONTH(20301125);
परिणाम:
+-----------------+ | MONTH(20301125) | +-----------------+ | 11 | +-----------------+
या निम्नलिखित भी (जो दो अंकों वाले वर्ष का उपयोग करता है):
SELECT MONTH(301125);
परिणाम:
+---------------+ | MONTH(301125) | +---------------+ | 11 | +---------------+
लेकिन इसे एक तारीख के रूप में समझना चाहिए। अगर मैं दिन के हिस्से को अमान्य दिन में बढ़ा दूं तो क्या होगा:
SELECT MONTH(20301135);
परिणाम:
+-----------------+ | MONTH(20301135) | +-----------------+ | NULL | +-----------------+
अन्य सीमांकक
आप तिथि के लिए अन्य सीमांकक का उपयोग कर सकते हैं। जब तारीखों पर सीमांकक की बात आती है तो मारियाडीबी काफी क्षमाशील है। यहां कुछ मान्य उदाहरण दिए गए हैं:
SELECT
MONTH('2030/06/25'),
MONTH('2030,06,25'),
MONTH('2030:06:25'),
MONTH('2030;06!25');
परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
MONTH('2030/06/25'): 6 MONTH('2030,06,25'): 6 MONTH('2030:06:25'): 6 MONTH('2030;06!25'): 6
वर्तमान तिथि
हम NOW()
pass पास कर सकते हैं वर्तमान तिथि का उपयोग करने के लिए डेटाटाइम तर्क के रूप में:
SELECT
NOW(),
MONTH(NOW());
परिणाम:
+---------------------+--------------+ | NOW() | MONTH(NOW()) | +---------------------+--------------+ | 2021-05-16 15:00:06 | 5 | +---------------------+--------------+
अमान्य तर्क
जब एक अमान्य तर्क पारित किया गया, MONTH()
रिटर्न null
:
SELECT MONTH('2030-65-78');
परिणाम:
+---------------------+ | MONTH('2030-65-78') | +---------------------+ | NULL | +---------------------+
अनुपलब्ध तर्क
कॉलिंग MONTH()
तर्कों की गलत संख्या के साथ, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT MONTH();
परिणाम:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।
और दूसरा उदाहरण:
SELECT MONTH('2030-12-10', '2031-12-10');
परिणाम:
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' '2031-12-10')' at line 1