MySQL में INTERVAL और YEAR (या अन्य समय इकाइयों) का उपयोग करके केवल तारीख भाग को अपडेट करें, समय को अपरिवर्तित रखते हुए।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable (
DueDate DATETIME
);
Query OK, 0 rows affected (0.56 sec)
mysql> INSERT INTO DemoTable VALUES('2017-08-12 10:30:45');
mysql> INSERT INTO DemoTable VALUES('2015-09-21 12:00:00');
mysql> INSERT INTO DemoTable VALUES('2018-12-31 11:45:56');
mysql> INSERT INTO DemoTable VALUES('2016-01-02 01:23:04');
अपडेट से पहले
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-----------------------+
| DueDate |
+-----------------------+
| 2017-08-12 10:30:45 |
| 2015-09-21 12:00:00 |
| 2018-12-31 11:45:56 |
| 2016-01-02 01:23:04 |
+-----------------------+
4 rows in set (0.00 sec)
1 साल बढ़ाने के लिए अपडेट क्वेरी
mysql> UPDATE DemoTable
SET DueDate = DueDate + INTERVAL 1 YEAR;
Query OK, 4 rows affected (0.16 sec)
अपडेट के बाद
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-----------------------+
| DueDate |
+-----------------------+
| 2018-08-12 10:30:45 |
| 2016-09-21 12:00:00 |
| 2019-12-31 11:45:56 |
| 2017-01-02 01:23:04 |
+-----------------------+
4 rows in set (0.00 sec)
व्याख्या: INTERVAL 1 YEAR केवल तारीख भाग को बढ़ाता है। इसी तरह MONTH, DAY, HOUR आदि का उपयोग किया जा सकता है।