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

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

मारियाडीबी में, ADDDATE() एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो दिनांक अंकगणित करता है।

यह आपको तिथि, जोड़ने की इकाई और जोड़ने की राशि निर्दिष्ट करके तिथि बदलने की अनुमति देता है। यदि आप किसी निश्चित अंतराल से तिथि घटाना चाहते हैं तो आप एक ऋणात्मक राशि पास कर सकते हैं।

ADDDATE() इसमें एक शॉर्टकट सिंटैक्स भी होता है जो आपको दिनांक में दिए गए दिनों की संख्या जोड़ने की अनुमति देता है।

सिंटैक्स

ADDDATE() फ़ंक्शन में दो सिंटैक्स होते हैं।

सिंटैक्स 1:

ADDDATE(expr,days)

जहां expr तारीख है, और days जोड़ने के लिए दिनों की संख्या है।

सिंटैक्स 2:

ADDDATE(date,INTERVAL expr unit)

जहां date बदलने की तारीख है, expr जोड़ने की राशि है, और unit जोड़ने की इकाई है (जैसे सेकंड, मिनट, आदि)।

इस सिंटैक्स का उपयोग करते समय, ADDDATE() DATE_ADD() . का समानार्थी है ।

उदाहरण - सिंटैक्स 1

यहां पहले सिंटैक्स का उपयोग करने का एक उदाहरण दिया गया है:

SELECT ADDDATE('2021-05-01', 1);

परिणाम:

+--------------------------+
| ADDDATE('2021-05-01', 1) |
+--------------------------+
| 2021-05-02               |
+--------------------------+

यदि आवश्यक हो तो हम समय भाग भी शामिल कर सकते हैं:

SELECT ADDDATE('2021-05-01 10:00:00', 1);

परिणाम:

+-----------------------------------+
| ADDDATE('2021-05-01 10:00:00', 1) |
+-----------------------------------+
| 2021-05-02 10:00:00               |
+-----------------------------------+

यहाँ एक ही काम करने के दो वैकल्पिक तरीके दिए गए हैं:

SELECT 
    DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 DAY) AS "Result 1",
    '2021-05-01 10:00:00' + INTERVAL 1 DAY AS "Result 2";

परिणाम:

+---------------------+---------------------+
| Result 1            | Result 2            |
+---------------------+---------------------+
| 2021-05-02 10:00:00 | 2021-05-02 10:00:00 |
+---------------------+---------------------+

उदाहरण - सिंटैक्स 2

दूसरे सिंटैक्स का उपयोग करने का एक उदाहरण यहां दिया गया है:

SELECT ADDDATE('2021-05-31 10:00:00', INTERVAL 1 HOUR);

परिणाम:

+-------------------------------------------------+
| ADDDATE('2021-05-31 10:00:00', INTERVAL 1 HOUR) |
+-------------------------------------------------+
| 2021-05-31 11:00:00                             |
+-------------------------------------------------+

यह सिंटैक्स हमें अन्य इकाइयों को तिथि में जोड़ने की अनुमति देता है (अर्थात केवल दिन नहीं)। यहां, मैंने तिथि में एक घंटा जोड़ा, लेकिन मैं आसानी से मिनट, सेकंड, महीने, दिन, वर्ष आदि जोड़ सकता था। उदाहरणों के लिए पढ़ना जारी रखें।

उपरोक्त उदाहरण के समान परिणाम प्राप्त करने के लिए यहां दो वैकल्पिक तरीके दिए गए हैं:

SELECT 
    DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) AS "Result 1",
    '2021-05-31 10:00:00' + INTERVAL 1 HOUR AS "Result 2";

परिणाम:

+---------------------+---------------------+
| Result 1            | Result 2            |
+---------------------+---------------------+
| 2021-05-31 11:00:00 | 2021-05-31 11:00:00 |
+---------------------+---------------------+

नकारात्मक अंतराल

ऋणात्मक अंतराल प्रदान करने से उस राशि को दिनांक से घटा दिया जाता है।

उदाहरण:

SELECT ADDDATE('2021-05-31 10:00:00', INTERVAL -1 HOUR);

परिणाम:

+--------------------------------------------------+
| ADDDATE('2021-05-31 10:00:00', INTERVAL -1 HOUR) |
+--------------------------------------------------+
| 2021-05-31 09:00:00                              |
+--------------------------------------------------+

अन्य इकाइयां

यहां एक उदाहरण दिया गया है जो विभिन्न दिनांक और समय इकाइयों में 1 का अंतराल जोड़ता है:

SELECT 
    ADDDATE('2021-05-01 10:00:00', INTERVAL 1 YEAR) AS YEAR,
    ADDDATE('2021-05-01 10:00:00', INTERVAL 1 MONTH) AS MONTH,
    ADDDATE('2021-05-01 10:00:00', INTERVAL 1 DAY) AS DAY,
    ADDDATE('2021-05-01 10:00:00', INTERVAL 1 HOUR) AS HOUR,
    ADDDATE('2021-05-01 10:00:00', INTERVAL 1 MINUTE) AS MINUTE,
    ADDDATE('2021-05-01 10:00:00', INTERVAL 1 SECOND) AS SECOND,
    ADDDATE('2021-05-01 10:00:00', INTERVAL 1 MICROSECOND) AS MICROSECOND;

परिणाम (ऊर्ध्वाधर आउटपुट का उपयोग करके):

       YEAR: 2022-05-01 10:00:00
      MONTH: 2021-06-01 10:00:00
        DAY: 2021-05-02 10:00:00
       HOUR: 2021-05-01 11:00:00
     MINUTE: 2021-05-01 10:01:00
     SECOND: 2021-05-01 10:00:01
MICROSECOND: 2021-05-01 10:00:00.000001

समग्र इकाइयां

यहां एक उदाहरण दिया गया है जो मिश्रित इकाइयों का उपयोग करता है:

SELECT 
    ADDDATE('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
    ADDDATE('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
    ADDDATE('2021-05-01 10:00:00', INTERVAL '1:30' DAY_MINUTE) AS "DAY_MINUTE";

परिणाम:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2022-07-01 10:00:00 | 2021-05-01 11:25:35 | 2021-05-01 11:30:00 |
+---------------------+---------------------+---------------------+

अशक्त तिथियां

पासिंग null वापसी की तारीख के लिए null :

SELECT ADDDATE(null, INTERVAL 1 YEAR);

परिणाम:

+--------------------------------+
| ADDDATE(null, INTERVAL 1 YEAR) |
+--------------------------------+
| NULL                           |
+--------------------------------+

अनुपलब्ध तर्क

कॉलिंग ADDDATE() तर्कों की गलत संख्या के साथ, या बिना कोई तर्क पारित किए त्रुटि उत्पन्न होती है:

SELECT ADDDATE();

परिणाम:

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 1
पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मारियाडीबी में RLIKE कैसे काम करता है

  2. मारियाडीबी में डुप्लिकेट पंक्तियों का चयन करने के 4 तरीके

  3. ClusterControl के साथ डेटाबेस बैकअप कैसे शेड्यूल करें

  4. MySQL में लॉक वेट टाइमआउट से अधिक त्रुटि को कैसे ठीक करें

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