नीचे तीन दृष्टिकोण दिए गए हैं जिनका उपयोग आप मारियाडीबी में किसी तिथि से दिन का नाम प्राप्त करने के लिए कर सकते हैं।
इनमें से दो दृष्टिकोण पूरे दिन का नाम लौटाते हैं, और एक छोटे दिन का नाम देता है।
द DAYNAME() समारोह
DAYNAME() फ़ंक्शन को विशेष रूप से किसी दिनांक से दिन का नाम वापस करने के लिए डिज़ाइन किया गया है। फ़ंक्शन को कॉल करते समय बस दिनांक पास करें, और यह पूरे दिन का नाम लौटा देगा।
उदाहरण:
SELECT DAYNAME('2021-08-19'); परिणाम:
+-----------------------+
| DAYNAME('2021-08-19') |
+-----------------------+
| Thursday |
+-----------------------+
दिन के नाम के लिए इस्तेमाल की जाने वाली भाषा lc_time_names . के मान से नियंत्रित होती है सिस्टम चर। देखें DAYNAME() उदाहरण के लिए कि यह आउटपुट को कैसे प्रभावित करता है।
द DATE_FORMAT() समारोह
DATE_FORMAT() फ़ंक्शन किसी दिए गए दिनांक को एक निर्दिष्ट प्रारूप में स्वरूपित करता है। जब आप फ़ंक्शन को कॉल करते हैं तो आप दिनांक और प्रारूप निर्दिष्ट करते हैं।
आप %W . पास करके पूरे कार्यदिवस का नाम वापस कर सकते हैं प्रारूप स्ट्रिंग के रूप में।
उदाहरण:
SELECT DATE_FORMAT('2021-08-19', '%W'); परिणाम:
+---------------------------------+
| DATE_FORMAT('2021-08-19', '%W') |
+---------------------------------+
| Thursday |
+---------------------------------+
DAYNAME() . की तरह , दिन के नाम के लिए उपयोग की जाने वाली भाषा lc_time_names के मान द्वारा नियंत्रित होती है सिस्टम चर। हालांकि, DATE_FORMAT() फ़ंक्शन एक वैकल्पिक तीसरा तर्क स्वीकार करता है जो आपको लोकेल निर्दिष्ट करने की अनुमति देता है।
लोकेल निर्दिष्ट करने का एक उदाहरण यहां दिया गया है:
SELECT DATE_FORMAT('2021-08-19', '%W', 'ca_ES'); परिणाम:
+------------------------------------------+
| DATE_FORMAT('2021-08-19', '%W', 'ca_ES') |
+------------------------------------------+
| dijous |
+------------------------------------------+ लघु दिन का नाम
पासिंग %a DATE_FORMAT() . तक फ़ंक्शन संक्षिप्त कार्यदिवस का नाम देता है।
उदाहरण:
SELECT DATE_FORMAT('2021-08-19', '%a'); परिणाम:
+---------------------------------+
| DATE_FORMAT('2021-08-19', '%a') |
+---------------------------------+
| Thu |
+---------------------------------+
इसे DAYNAME() . के साथ दोहराया जा सकता है LEFT() . का उपयोग करके कार्य करें कार्यदिवस के नाम से पहले 3 अक्षर हथियाने के लिए।
उदाहरण:
SELECT LEFT(DAYNAME('2021-08-19'), 3); परिणाम:
+--------------------------------+
| LEFT(DAYNAME('2021-08-19'), 3) |
+--------------------------------+
| Thu |
+--------------------------------+
CAST() . जैसे फ़ंक्शन का उपयोग करके भी वही प्रभाव प्राप्त किया जा सकता है परिणाम को तीन वर्णों वाले डेटा प्रकार में बदलने के लिए।
हालांकि, हालांकि यह तरीका en_US . में काम करता है , यह हमेशा अन्य भाषाओं में काम नहीं कर सकता है। उदाहरण के लिए:
SET lc_time_names = 'th_TH';
SELECT
DATE_FORMAT('2021-08-19', '%a') AS "Short 1",
LEFT(DAYNAME('2021-08-19'), 3) AS "Short 2",
DAYNAME('2021-08-19') AS "Full"; परिणाम:
+---------+-----------+--------------------------+ | Short 1 | Short 2 | Full | +---------+-----------+--------------------------+ | พฤ. | พฤห | พฤหัสบดี | +---------+-----------+--------------------------+