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