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

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

मारियाडीबी में, DATE_SUB() एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो आपको किसी तिथि से एक राशि घटाने की अनुमति देता है।

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

सिंटैक्स

वाक्य रचना इस प्रकार है:

DATE_SUB(date,INTERVAL expr unit)

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

उदाहरण

यहां एक बुनियादी उदाहरण दिया गया है:

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

परिणाम:

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

यह निम्न कार्य करने जैसा है:

SELECT '2021-05-31 10:00:00' - INTERVAL 1 HOUR;

परिणाम:

+-----------------------------------------+
| '2021-05-31 10:00:00' - INTERVAL 1 HOUR |
+-----------------------------------------+
| 2021-05-31 09:00:00                     |
+-----------------------------------------+

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

ऋणात्मक अंतराल प्रदान करना जोड़ता है तारीख से वह राशि।

उदाहरण:

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

परिणाम:

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

अन्य इकाइयां

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

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

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

       YEAR: 2020-05-10 10:00:00
      MONTH: 2021-04-10 10:00:00
        DAY: 2021-05-09 10:00:00
       HOUR: 2021-05-10 09:00:00
     MINUTE: 2021-05-10 09:59:00
     SECOND: 2021-05-10 09:59:59
MICROSECOND: 2021-05-10 09:59:59.999999

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

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

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

परिणाम:

+---------------------+---------------------+---------------------+
| YEAR_MONTH          | HOUR_SECOND         | DAY_MINUTE          |
+---------------------+---------------------+---------------------+
| 2020-03-01 10:00:00 | 2021-05-01 08:34:25 | 2021-05-01 08:30:00 |
+---------------------+---------------------+---------------------+

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

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

SELECT DATE_SUB(null, INTERVAL 1 YEAR);

परिणाम:

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

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

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

SELECT DATE_SUB();

परिणाम:

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. कैसे EXTRACT () मारियाडीबी में काम करता है

  2. HAProxy कनेक्शन बनाम MySQL कनेक्शन - आपको क्या पता होना चाहिए

  3. मारियाडीबी JSON_EXISTS () समझाया गया

  4. Oracle DB से MariaDB में माइग्रेट कैसे करें

  5. मारियाडीबी क्लस्टर में नया क्या है 10.4