मारियाडीबी में, DAYNAME()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो किसी दिए गए दिनांक के लिए कार्यदिवस का नाम देता है।
यह एक तर्क को स्वीकार करता है, जिस तारीख से आप दिन का नाम निकालना चाहते हैं।
सिंटैक्स
वाक्य रचना इस प्रकार है:
DAYNAME(date)
जहां date
से दिन का नाम प्राप्त करने की तिथि है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT DAYNAME('2045-10-17');
परिणाम:
+-----------------------+ | DAYNAME('2045-10-17') | +-----------------------+ | Tuesday | +-----------------------+
भाषा
दिन के नाम के लिए इस्तेमाल की जाने वाली भाषा lc_time_names
. के मान से नियंत्रित होती है सिस्टम चर।
यहां एक उदाहरण दिया गया है जो दिखाता है कि यह परिणाम को कैसे प्रभावित करता है:
SET lc_time_names = 'de_DE';
SELECT DAYNAME('2045-10-17');
परिणाम:
+-----------------------+ | DAYNAME('2045-10-17') | +-----------------------+ | Dienstag | +-----------------------+
और वापस en_US
पर स्विच करना , जो कि डिफ़ॉल्ट है:
SET lc_time_names = 'en_US';
SELECT DAYNAME('2045-10-17');
परिणाम:
+-----------------------+ | DAYNAME('2045-10-17') | +-----------------------+ | Tuesday | +-----------------------+
यहां मारियाडीबी द्वारा समर्थित स्थानों की सूची दी गई है, और यहां उपलब्ध स्थानों की अपनी सूची वापस करने का तरीका बताया गया है।
जब तक हम इस पर काम कर रहे हैं, यहां एक पोस्ट है जिसमें बताया गया है कि अपने lc_time_names
के मान की जांच कैसे करें सिस्टम चर।
डेटाटाइम मान
यह डेटाटाइम मानों के साथ भी काम करता है:
SELECT DAYNAME('2030-01-25 10:30:45');
परिणाम:
+--------------------------------+ | DAYNAME('2030-01-25 10:30:45') | +--------------------------------+ | Friday | +--------------------------------+
शून्य दिन
दिनांक में शून्य दिन होने पर null
:
SELECT DAYNAME('2030-00-00');
परिणाम:
+-----------------------+ | DAYNAME('2030-00-00') | +-----------------------+ | NULL | +-----------------------+
संख्यात्मक तिथियां
तिथियों को एक संख्या के रूप में पारित करना भी संभव है, जब तक कि यह एक तिथि के रूप में समझ में आता है।
उदाहरण
SELECT DAYNAME(20201108);
परिणाम:
+-------------------+ | DAYNAME(20201108) | +-------------------+ | Sunday | +-------------------+
दो अंकों के वर्ष ठीक हैं:
SELECT DAYNAME(201108);
परिणाम:
+-----------------+ | DAYNAME(201108) | +-----------------+ | Sunday | +-----------------+
लेकिन इसे एक तारीख के रूप में समझना चाहिए। अगर मैं महीने के हिस्से को अमान्य महीने में बढ़ा दूं तो क्या होगा:
SELECT DAYNAME(209908);
परिणाम:
+-----------------+ | DAYNAME(209908) | +-----------------+ | NULL | +-----------------+
अन्य सीमांकक
आप तिथि के लिए अन्य सीमांकक का उपयोग कर सकते हैं। जब तारीखों पर सीमांकक की बात आती है तो मारियाडीबी काफी क्षमाशील है। यहां कुछ मान्य उदाहरण दिए गए हैं:
SELECT
DAYNAME('2027/08/19'),
DAYNAME('2027,08,19'),
DAYNAME('2027:08:19'),
DAYNAME('2027;08!19');
परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
DAYNAME('2027/08/19'): Thursday DAYNAME('2027,08,19'): Thursday DAYNAME('2027:08:19'): Thursday DAYNAME('2027;08!19'): Thursday
वर्तमान तिथि
हम NOW()
pass पास कर सकते हैं वर्तमान तिथि का उपयोग करने के लिए दिनांक तर्क के रूप में:
SELECT
NOW(),
DAYNAME(NOW());
परिणाम:
+---------------------+----------------+ | NOW() | DAYNAME(NOW()) | +---------------------+----------------+ | 2021-05-13 13:29:10 | Thursday | +---------------------+----------------+
अमान्य तर्क
जब कोई अमान्य तर्क पारित किया गया, DAYNAME()
रिटर्न null
:
SELECT DAYNAME('Dang!');
परिणाम:
+------------------+ | DAYNAME('Dang!') | +------------------+ | NULL | +------------------+
अनुपलब्ध तर्क
DAYNAME()
को कॉल कर रहे हैं तर्कों की गलत संख्या के साथ, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT DAYNAME();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYNAME'
और दूसरा उदाहरण:
SELECT DAYNAME('2030-01-25', '2045-05-08');
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'DAYNAME'