मारियाडीबी में, DATE_ADD()
एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो दिनांक अंकगणित करता है।
यह आपको तिथि, जोड़ने की इकाई और जोड़ने की राशि निर्दिष्ट करके तिथि बदलने की अनुमति देता है। यदि आप किसी निश्चित अंतराल से तिथि घटाना चाहते हैं तो आप एक ऋणात्मक राशि पास कर सकते हैं।
सिंटैक्स
वाक्य रचना इस प्रकार है:
DATE_ADD(date,INTERVAL expr unit)
जहां date
बदलने की तारीख है, expr
जोड़ने की राशि है, और unit
जोड़ने के लिए दिनांक/समय इकाई है (उदा. सेकंड, मिनट, आदि)।
उदाहरण
यहां एक बुनियादी उदाहरण दिया गया है:
SELECT DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR);
परिणाम:
+--------------------------------------------------+ | DATE_ADD('2021-05-31 10:00:00', INTERVAL 1 HOUR) | +--------------------------------------------------+ | 2021-05-31 11:00:00 | +--------------------------------------------------+
यह निम्न कार्य करने जैसा है:
SELECT '2021-05-31 10:00:00' + INTERVAL 1 HOUR;
परिणाम:
+-----------------------------------------+ | '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);
परिणाम:
+---------------------------------------------------+ | DATE_ADD('2021-05-31 10:00:00', INTERVAL -1 HOUR) | +---------------------------------------------------+ | 2021-05-31 09:00:00 | +---------------------------------------------------+
अन्य इकाइयां
यहां एक उदाहरण दिया गया है जो विभिन्न दिनांक और समय इकाइयों में 1 का अंतराल जोड़ता है:
SELECT
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 YEAR) AS YEAR,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MONTH) AS MONTH,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 DAY) AS DAY,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 HOUR) AS HOUR,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 MINUTE) AS MINUTE,
DATE_ADD('2021-05-01 10:00:00', INTERVAL 1 SECOND) AS SECOND,
DATE_ADD('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
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:2' YEAR_MONTH) AS "YEAR_MONTH",
DATE_ADD('2021-05-01 10:00:00', INTERVAL '1:25:35' HOUR_SECOND) AS "HOUR_SECOND",
DATE_ADD('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 DATE_ADD(null, INTERVAL 1 YEAR);
परिणाम:
+---------------------------------+ | DATE_ADD(null, INTERVAL 1 YEAR) | +---------------------------------+ | NULL | +---------------------------------+
अनुपलब्ध तर्क
कॉलिंग DATE_ADD()
तर्कों की गलत संख्या के साथ, या बिना कोई तर्क पारित किए त्रुटि उत्पन्न होती है:
SELECT DATE_ADD();
परिणाम:
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पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।