MariaDB
 sql >> डेटाबेस >  >> RDS >> MariaDB

मारियाडीबी में DAYOFWEEK () कैसे काम करता है

मारियाडीबी में, 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'

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. भू-वितरित क्लस्टर बनाने के लिए MySQL गैलेरा क्लस्टर प्रतिकृति का उपयोग करना:भाग दो

  2. MySQL और MariaDB के लिए HA - गैलेरा क्लस्टर में मास्टर-मास्टर प्रतिकृति की तुलना करना

  3. उच्च उपलब्धता के लिए ओपन edX MySQL डेटाबेस को कैसे परिनियोजित करें

  4. SQL और Presto का उपयोग करके बिग डेटा एनालिटिक्स क्वेरी चलाना

  5. मारियाडीबी में डेटाटाइम वैल्यू से घंटे कैसे घटाएं?