MariaDB में, आप DATE_FORMAT()
. का उपयोग कर सकते हैं दिनांक से विभिन्न दिनांक भागों को वापस करने का कार्य। जिन चीज़ों को आप वापस कर सकते हैं उनमें से एक छोटा महीना नाम है। उदाहरण के लिए Nov
या Dec
(Nov
. के बजाय या Dec
)।
“लघु माह का नाम” प्रारूप विनिर्देशक (%b
)
DATE_FORMAT()
. का उपयोग करते समय छोटे महीने का नाम वापस करने की कुंजी फ़ंक्शन लागू प्रारूप विनिर्देशक का उपयोग करना है।
मारियाडीबी में, छोटे महीने के नाम के लिए प्रारूप विनिर्देशक है:%b
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT DATE_FORMAT('2023-12-25', '%b');
परिणाम:
+---------------------------------+ | DATE_FORMAT('2023-12-25', '%b') | +---------------------------------+ | Dec | +---------------------------------+
यहां एक और उदाहरण दिया गया है जो साल के विभिन्न महीनों में चलता है:
SELECT
DATE_FORMAT('2023-01-25', '%b') AS "1",
DATE_FORMAT('2023-02-25', '%b') AS "2",
DATE_FORMAT('2023-03-25', '%b') AS "3",
DATE_FORMAT('2023-04-25', '%b') AS "4",
DATE_FORMAT('2023-05-25', '%b') AS "5",
DATE_FORMAT('2023-06-25', '%b') AS "6",
DATE_FORMAT('2023-07-25', '%b') AS "7",
DATE_FORMAT('2023-08-25', '%b') AS "8",
DATE_FORMAT('2023-09-25', '%b') AS "9",
DATE_FORMAT('2023-10-25', '%b') AS "10",
DATE_FORMAT('2023-11-25', '%b') AS "11",
DATE_FORMAT('2023-12-25', '%b') AS "12";
परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
1: Jan 2: Feb 3: Mar 4: Apr 5: May 6: Jun 7: Jul 8: Aug 9: Sep 10: Oct 11: Nov 12: Dec
आप अन्य दिनांक और समय इकाइयाँ भी वापस कर सकते हैं, लेकिन यह लेख विशेष रूप से छोटे महीने के नाम को वापस करने के बारे में है। DATE_FORMAT()
के साथ उपयोग किए जा सकने वाले प्रारूप विनिर्देशों की सूची के लिए MariaDB Format Strings देखें। ।
अन्य दृष्टिकोण
उस तारीख से छोटे महीने का नाम प्राप्त करने के अन्य तरीके हैं जिसमें महीने के पहले भाग को काटना शामिल है।
हालाँकि, यह उपरोक्त विधि की तुलना में त्रुटि के लिए अधिक प्रवण हो सकता है (साथ ही यह अधिक जटिल है)। इस पद्धति का उपयोग करते समय आपको कुछ अप्रत्याशित परिणाम मिल सकते हैं, विशेष रूप से विभिन्न भाषाओं के साथ काम करते समय।
यहाँ कुछ उदाहरण दिए गए हैं जो यह प्रदर्शित करते हैं कि मेरा क्या मतलब है।
%b
. का उपयोग करने के बजाय प्रारूप विनिर्देशक जैसा कि हमने पिछले उदाहरण में किया था, हम %M
. का उपयोग कर सकते हैं पूरे महीने का नाम वापस करने के लिए प्रारूप निर्दिष्ट करें, फिर उस परिणाम को LEFT()
जैसे फ़ंक्शन के साथ छोटा करें ।
उदाहरण:
SELECT
DATE_FORMAT('2023-10-25', '%M') AS Full,
LEFT(DATE_FORMAT('2023-10-25', '%M'), 3) AS Short;
परिणाम:
+---------+-------+ | Full | Short | +---------+-------+ | October | Oct | +---------+-------+
हम वैकल्पिक रूप से CAST()
. जैसे फ़ंक्शन का उपयोग कर सकते हैं केवल तीन वर्णों वाले डेटा प्रकार में कनवर्ट करने के लिए, जैसे:
SELECT
DATE_FORMAT('2023-10-25', '%M') AS Full,
CAST(DATE_FORMAT('2023-10-25', '%M') AS CHAR(3)) AS Short;
परिणाम:
+---------+-------+ | Full | Short | +---------+-------+ | October | Oct | +---------+-------+
अंग्रेजी भाषा (और शायद कुछ अन्य भाषाओं) के साथ काम करते समय यह ठीक काम करता है। लेकिन देखते हैं कि क्या होता है जब हम किसी दूसरी भाषा में स्विच करते हैं - जैसे थाई:
SELECT
DATE_FORMAT('2023-10-25', '%M', 'th_TH') AS Full,
LEFT(DATE_FORMAT('2023-10-25', '%M', 'th_TH'), 3) AS Short;
परिणाम:
+--------------------+-----------+ | Full | Short | +--------------------+-----------+ | ตุลาคม | ตุล | +--------------------+-----------+
हालाँकि, यहाँ क्या होता है जब हम %b
. का उपयोग करते हैं छोटे महीने का नाम वापस करने के लिए प्रारूप विनिर्देशक:
SELECT
DATE_FORMAT('2023-10-25', '%M', 'th_TH') AS Full,
DATE_FORMAT('2023-10-25', '%b', 'th_TH') AS Short;
परिणाम:
+--------------------+----------+ | Full | Short | +--------------------+----------+ | ตุลาคม | ต.ค. | +--------------------+----------+
यह एक अलग परिणाम देता है।
इसलिए मैं %b
. का उपयोग करने की सलाह दूंगा जब भी संभव हो प्रारूप विनिर्देशक।