MySQL में DATE/DATETIME कॉलम में दिन जोड़ने और परिणाम को नए कॉलम में प्रदर्शित करने के लिए DATE_ADD() फंक्शन (या + INTERVAL सिंटैक्स) का उपयोग करें। यह देय तारीख, समाप्ति तारीख, शेड्यूलिंग गणना के लिए आवश्यक है।
उदाहरण: DueTime में 45 दिन जोड़ना
डेमो टेबल बनाएं:
mysql> CREATE TABLE DemoTable1930 (DueTime DATETIME);
डेटा इन्सर्ट करें:
mysql> INSERT INTO DemoTable1930 VALUES
('2017-10-21'), ('2019-12-14'), ('2018-11-26'), ('2014-06-16');
डेटा:
+---------------------+ | DueTime | +---------------------+ | 2017-10-21 00:00:00 | | 2019-12-14 00:00:00 | | 2018-11-26 00:00:00 | | 2014-06-16 00:00:00 | +---------------------+
DATE_ADD() के साथ क्वेरी:
mysql> SELECT DueTime,
DATE_ADD(DueTime, INTERVAL 45 DAY) AS ManyDays
FROM DemoTable1930;
आउटपुट:
+---------------------+---------------------+ | DueTime | ManyDays | +---------------------+---------------------+ | 2017-10-21 00:00:00 | 2017-12-05 00:00:00 | | 2019-12-14 00:00:00 | 2020-01-28 00:00:00 | | 2018-11-26 00:00:00 | 2019-01-10 00:00:00 | | 2014-06-16 00:00:00 | 2014-07-31 00:00:00 | +---------------------+---------------------+
सिंटैक्स विकल्प
DATE_ADD() फंक्शन
DATE_ADD(date, INTERVAL expr unit)
+ INTERVAL ऑपरेटर (अधिक संक्षिप्त)
SELECT DueTime, DueTime + INTERVAL 45 DAY AS ManyDays FROM DemoTable1930;
सामान्य इंटरवल यूनिट
| यूनिट | उदाहरण |
|---|---|
| DAY | INTERVAL 45 DAY |
| MONTH | INTERVAL 3 MONTH |
| YEAR | INTERVAL 1 YEAR |
| HOUR | INTERVAL 2 HOUR |
| MINUTE | INTERVAL 30 MINUTE |
| SECOND | INTERVAL 10 SECOND |
| WEEK | INTERVAL 2 WEEK |
| QUARTER | INTERVAL 1 QUARTER |
कॉम्बिनेशन इंटरवल
DATE_ADD(NOW(), INTERVAL 1 YEAR 3 MONTH) DueTime + INTERVAL '1 3' YEAR_MONTH
DATE_SUB() घटाने के लिए
DATE_SUB(DueTime, INTERVAL 45 DAY) DueTime - INTERVAL 45 DAY
उपयोग के मामले
- चालान देय तारीख (इनवॉइस डेट + 30/45/60 दिन)
- सब्सक्रिप्शन नवीनीकरण तारीख
- ट्रायल अवधि समाप्ति
- ईवेंट शेड्यूलिंग
- SLA गणना
टाइमज़ोन नोट
DATETIME टाइमज़ोन-अनजान है। टाइमज़ोन-अवेयर गणना के लिए TIMESTAMP या CONVERT_TZ() उपयोग करें।