मारियाडीबी में, MONTHNAME() एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो किसी दिए गए दिनांक के लिए महीने के नाम का नाम देता है।
यह एक तर्क को स्वीकार करता है, जिस तारीख से आप महीने का नाम निकालना चाहते हैं।
सिंटैक्स
वाक्य रचना इस प्रकार है:
MONTHNAME(date)
जहां date से महीने का नाम प्राप्त करने की तिथि है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT MONTHNAME('2041-11-14'); परिणाम:
+-------------------------+
| MONTHNAME('2041-11-14') |
+-------------------------+
| November |
+-------------------------+ भाषा
महीने के नाम के लिए इस्तेमाल की जाने वाली भाषा lc_time_names के मान से नियंत्रित होती है सिस्टम चर।
यहां एक उदाहरण दिया गया है जो दिखाता है कि यह परिणाम को कैसे प्रभावित करता है:
SET lc_time_names = 'es_AR';
SELECT MONTHNAME('2041-11-14'); परिणाम:
+-------------------------+
| MONTHNAME('2041-11-14') |
+-------------------------+
| noviembre |
+-------------------------+
और वापस en_US पर स्विच करना , जो कि डिफ़ॉल्ट है:
SET lc_time_names = 'en_US';
SELECT MONTHNAME('2041-11-14'); परिणाम:
+-------------------------+
| MONTHNAME('2041-11-14') |
+-------------------------+
| November |
+-------------------------+ यहां मारियाडीबी द्वारा समर्थित स्थानों की सूची दी गई है, और यहां उपलब्ध स्थानों की अपनी सूची वापस करने का तरीका बताया गया है।
और यहां एक पोस्ट है जिसमें बताया गया है कि अपने lc_time_names के मान की जांच कैसे करें सिस्टम चर।
डेटाटाइम मान
यह डेटाटाइम मानों के साथ भी काम करता है:
SELECT MONTHNAME('2041-01-15 10:30:45'); परिणाम:
+----------------------------------+
| MONTHNAME('2041-01-15 10:30:45') |
+----------------------------------+
| January |
+----------------------------------+ शून्य महीने
दिनांक में शून्य महीना होने पर null . लौटाता है :
SELECT MONTHNAME('2030-00-00'); परिणाम:
+-------------------------+
| MONTHNAME('2030-00-00') |
+-------------------------+
| NULL |
+-------------------------+ संख्यात्मक तिथियां
तिथियों को एक संख्या के रूप में पारित करना भी संभव है, जब तक कि यह एक तिथि के रूप में समझ में आता है।
उदाहरण
SELECT MONTHNAME(20201208); परिणाम:
+---------------------+ | MONTHNAME(20201208) | +---------------------+ | December | +---------------------+
दो अंकों के वर्ष ठीक हैं:
SELECT MONTHNAME(201208); परिणाम:
+-------------------+ | MONTHNAME(201208) | +-------------------+ | December | +-------------------+
लेकिन इसे एक तारीख के रूप में समझना चाहिए। अगर मैं दिन के हिस्से को अमान्य दिन में बढ़ा दूं तो क्या होगा:
SELECT MONTHNAME(201299); परिणाम:
+-------------------+ | MONTHNAME(201299) | +-------------------+ | NULL | +-------------------+
अन्य सीमांकक
आप तिथि के लिए अन्य सीमांकक का उपयोग कर सकते हैं। जब तारीखों पर सीमांकक की बात आती है तो मारियाडीबी काफी क्षमाशील है। यहां कुछ मान्य उदाहरण दिए गए हैं:
SELECT
MONTHNAME('2027/08/19'),
MONTHNAME('2027,08,19'),
MONTHNAME('2027:08:19'),
MONTHNAME('2027;08!19'); परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
MONTHNAME('2027/08/19'): August
MONTHNAME('2027,08,19'): August
MONTHNAME('2027:08:19'): August
MONTHNAME('2027;08!19'): August वर्तमान तिथि
हम NOW() pass पास कर सकते हैं वर्तमान तिथि का उपयोग करने के लिए दिनांक तर्क के रूप में:
SELECT
NOW(),
MONTHNAME(NOW()); परिणाम:
+---------------------+------------------+ | NOW() | MONTHNAME(NOW()) | +---------------------+------------------+ | 2021-05-14 10:11:16 | May | +---------------------+------------------+
अमान्य तर्क
जब कोई अमान्य तर्क पारित किया गया, MONTHNAME() रिटर्न null :
SELECT MONTHNAME('Wrong!'); परिणाम:
+---------------------+
| MONTHNAME('Wrong!') |
+---------------------+
| NULL |
+---------------------+ अनुपलब्ध तर्क
कॉलिंग MONTHNAME() तर्कों की गलत संख्या के साथ, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT MONTHNAME(); परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MONTHNAME'
और दूसरा उदाहरण:
SELECT MONTHNAME('2030-01-25', '2045-05-08'); परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'MONTHNAME'