मारियाडीबी में, WEEKDAY()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो किसी दिए गए दिनांक से सप्ताह का दिन लौटाता है।
यह एक तर्क को स्वीकार करता है, जिस तारीख से आप सप्ताह का दिन निकालना चाहते हैं।
यह दिन को एक संख्या के रूप में लौटाता है। सोमवार के लिए सूचकांक क्रमांकन शून्य से शुरू होता है (अर्थात 0
=सोमवार, 1
=मंगलवार, आदि)। यह DAYOFWEEK()
. के विपरीत है , जो ODBC मानक का पालन करता है (1
=रविवार, 2
=सोमवार, आदि)।
सिंटैक्स
वाक्य रचना इस प्रकार है:
WEEKDAY(date)
जहां date
से सप्ताह का दिन प्राप्त करने की तिथि है।
उदाहरण
यहां एक उदाहरण दिया गया है:
SELECT WEEKDAY('2030-01-25');
परिणाम:
+-----------------------+ | WEEKDAY('2030-01-25') | +-----------------------+ | 4 | +-----------------------+
दिन के नाम की तुलना में
DAYNAME()
. के बगल में एक और है दिन का नाम वापस करने के लिए:
SELECT
WEEKDAY('2030-01-21'),
DAYNAME('2030-01-21');
परिणाम:
+-----------------------+-----------------------+ | WEEKDAY('2030-01-21') | DAYNAME('2030-01-21') | +-----------------------+-----------------------+ | 0 | Monday | +-----------------------+-----------------------+
जैसा कि उल्लेख किया गया है, सूचकांक क्रमांकन सोमवार के लिए 0 से शुरू होता है।
ये रहा रविवार:
SELECT
WEEKDAY('2030-01-20'),
DAYNAME('2030-01-20');
परिणाम:
+-----------------------+-----------------------+ | WEEKDAY('2030-01-20') | DAYNAME('2030-01-20') | +-----------------------+-----------------------+ | 6 | Sunday | +-----------------------+-----------------------+
डेटाटाइम मान
यह डेटाटाइम मानों के साथ भी काम करता है:
SELECT WEEKDAY('2030-01-24 10:30:45');
परिणाम:
+--------------------------------+ | WEEKDAY('2030-01-24 10:30:45') | +--------------------------------+ | 3 | +--------------------------------+
शून्य दिन
शून्य दिनों का परिणाम null
होता है .
उदाहरण:
SELECT WEEKDAY('2030-00-00');
परिणाम:
+-----------------------+ | WEEKDAY('2030-00-00') | +-----------------------+ | NULL | +-----------------------+
संख्यात्मक तिथियां
तिथियों को एक संख्या के रूप में पारित करना भी संभव है, जब तक कि यह एक तिथि के रूप में समझ में आता है।
उदाहरण
SELECT WEEKDAY(20300125);
परिणाम:
+-------------------+ | WEEKDAY(20300125) | +-------------------+ | 4 | +-------------------+
या निम्नलिखित भी (जो दो अंकों वाले वर्ष का उपयोग करता है):
SELECT WEEKDAY(300125);
परिणाम:
+-----------------+ | WEEKDAY(300125) | +-----------------+ | 4 | +-----------------+
लेकिन इसे एक तारीख के रूप में समझना चाहिए। अगर मैं दिन के हिस्से को अमान्य दिन में बढ़ा दूं तो क्या होगा:
SELECT WEEKDAY(20300135);
परिणाम:
+-------------------+ | WEEKDAY(20300135) | +-------------------+ | NULL | +-------------------+
अन्य सीमांकक
आप तिथि के लिए अन्य सीमांकक का उपयोग कर सकते हैं। जब तारीखों पर सीमांकक की बात आती है तो मारियाडीबी काफी क्षमाशील है। यहां कुछ मान्य उदाहरण दिए गए हैं:
SELECT
WEEKDAY('2030/01/25'),
WEEKDAY('2030,01,25'),
WEEKDAY('2030:01:25'),
WEEKDAY('2030;01!25');
परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):
WEEKDAY('2030/01/25'): 4 WEEKDAY('2030,01,25'): 4 WEEKDAY('2030:01:25'): 4 WEEKDAY('2030;01!25'): 4
वर्तमान तिथि
हम NOW()
pass पास कर सकते हैं वर्तमान तिथि का उपयोग करने के लिए दिनांक तर्क के रूप में:
SELECT
NOW(),
WEEKDAY(NOW());
परिणाम:
+---------------------+----------------+ | NOW() | WEEKDAY(NOW()) | +---------------------+----------------+ | 2021-05-15 09:44:50 | 5 | +---------------------+----------------+
अमान्य तर्क
जब कोई अमान्य तर्क पारित किया गया, WEEKDAY()
रिटर्न null
:
SELECT WEEKDAY('Homer');
परिणाम:
+------------------+ | WEEKDAY('Homer') | +------------------+ | NULL | +------------------+
अनुपलब्ध तर्क
कॉलिंग WEEKDAY()
तर्कों की गलत संख्या के साथ, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT WEEKDAY();
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'WEEKDAY'
और दूसरा उदाहरण:
SELECT WEEKDAY('2030-01-25', '2045-05-08');
परिणाम:
ERROR 1582 (42000): Incorrect parameter count in the call to native function 'WEEKDAY'