मारियाडीबी में, TIMESTAMPADD() एक अंतर्निहित दिनांक और समय फ़ंक्शन है जो किसी दिए गए दिनांक या डेटाटाइम अभिव्यक्ति में एक पूर्णांक अभिव्यक्ति अंतराल जोड़ता है।
सिंटैक्स
वाक्य रचना इस प्रकार है:
TIMESTAMPADD(unit,interval,datetime_expr)
जहां unit निम्नलिखित मानों में से एक है:
MICROSECONDSECONDMINUTEHOURDAYWEEKMONTHQUARTERYEAR
इकाइयों में वैकल्पिक रूप से SQL_TSI_ . का उपसर्ग हो सकता है ।
उदाहरण
प्रदर्शित करने के लिए यहां एक उदाहरण दिया गया है:
SELECT TIMESTAMPADD(DAY, 10, '2030-02-01'); परिणाम:
+------------------------------------------------+| TIMESTAMPADD(दिन, 10, '2030-02-01') |+---------------------------------- ---+| 2030-02-11 |+-------------------------------------+
डेटाटाइम मान
डेटाटाइम मान पास करने का एक उदाहरण यहां दिया गया है:
SELECT TIMESTAMPADD(HOUR, 10, '2030-02-01 10:30:45'); परिणाम:
+------------------------------------------ -+| टाइमस्टैम्पड(घंटा, 10, '2030-02-01 10:30:45') |+----------------------------- -------------------+| 2030-02-01 20:30:45 | ---------+
एक SQL_TSI_जोड़ना उपसर्ग
इकाई में एक SQL_TSI_ शामिल हो सकता है यदि आवश्यक हो तो उपसर्ग:
SELECT TIMESTAMPADD(SQL_TSI_YEAR, 10, '2030-02-01'); परिणाम:
+------------------------------------------ +| TIMESTAMPADD(SQL_TSI_YEAR, 10, '2030-02-01') |+------------------------------------- ------------+| 2040-02-01 |+------------------------------------------ ---+
माइक्रोसेकंड
यहां एक उदाहरण दिया गया है जो माइक्रोसेकंड जोड़ता है:
SELECT TIMESTAMPADD(MICROSECOND, 123456, '2030-02-01 10:30:45'); परिणाम:
+------------------------------------------ ------------+| टाइमस्टैम्पड(माइक्रोसेकंड, 123456, '2030-02-01 10:30:45') |+---------------------------- -----------------------------+| 2030-02-01 10:30:45.123456 |+------------------------------------------ ------------------------+
नकारात्मक अंतराल
नकारात्मक अंतराल मान्य हैं:
उदाहरण:
SELECT TIMESTAMPADD(YEAR, -10, '2030-02-01'); परिणाम:
+-----------------------------------------------------+| टाइमस्टैम्पड (वर्ष, -10, '2030-02-01') |+------------------------------------- ------+| 2020-02-01 |+------------------------------------------+
वर्तमान तिथि
हम NOW() pass पास कर सकते हैं वर्तमान दिनांक और समय का उपयोग करने के लिए डेटाटाइम तर्क के रूप में:
SELECT
NOW(),
TIMESTAMPADD(DAY, 10, NOW()); परिणाम:
+---------------------+-------------------------- ------+| अभी () | TIMESTAMPADD(दिन, 10, अभी ()) |+---------------------+---------------- --------------+| 2021-05-28 09:58:56 | 2021-06-07 09:58:56 |+---------------------+---------------- --------------+
अनुपलब्ध तर्क
कॉल करना TIMESTAMPADD() तर्कों की गलत संख्या के साथ, या कोई तर्क पारित किए बिना, एक त्रुटि उत्पन्न होती है:
SELECT TIMESTAMPADD(); परिणाम:
ERROR 1064 (42000):आपको अपने SQL सिंटैक्स में त्रुटि है; लाइन 1पर ')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से संबंधित मैनुअल की जांच करें।
और दूसरा उदाहरण:
SELECT TIMESTAMPADD(10, '2020-12-09'); परिणाम:
ERROR 1064 (42000):आपको अपने SQL सिंटैक्स में त्रुटि है; लाइन 1 पर '10, '2020-12-09')' के पास उपयोग करने के लिए सही सिंटैक्स के लिए अपने मारियाडीबी सर्वर संस्करण से मेल खाने वाले मैनुअल की जांच करें।