MySQL में DATE_ADD() और MONTH() से केवल महीना अपडेट करना
तिथि कॉलम में केवल महीना बदलने के लिए DATE_ADD() के साथ MONTH() का उपयोग करें।
टेबल बनाना और डेटा डालना
mysql> CREATE TABLE DemoTable861 (AdmissionDate DATE); Query OK, 0 rows affected (1.22 sec)
mysql> INSERT INTO DemoTable861 VALUES('2019-01-21');
Query OK, 1 row affected (0.31 sec)
mysql> INSERT INTO DemoTable861 VALUES('2018-01-01');
Query OK, 1 row affected (0.49 sec)
mysql> INSERT INTO DemoTable861 VALUES('2016-01-02');
Query OK, 1 row affected (1.27 sec)
mysql> INSERT INTO DemoTable861 VALUES('2018-01-14');
Query OK, 1 row affected (0.47 sec)
अपडेट से पहले डेटा
mysql> SELECT * FROM DemoTable861;
+---------------+ | AdmissionDate | +---------------+ | 2019-01-21 | | 2018-01-01 | | 2016-01-02 | | 2018-01-14 | +---------------+ 4 rows in set (0.00 sec)
जनवरी को दिसंबर में बदलने का क्वेरी
महीना 1 (जनवरी) वाले रिकॉर्ड में 1 महीना घटाएँ:
mysql> UPDATE DemoTable861
SET AdmissionDate = DATE_ADD(AdmissionDate, INTERVAL -1 MONTH)
WHERE MONTH(AdmissionDate) = 01;
Query OK, 4 rows affected (0.42 sec)
Rows matched: 4 Changed: 4 Warnings: 0
अपडेट के बाद डेटा
mysql> SELECT * FROM DemoTable861;
+---------------+ | AdmissionDate | +---------------+ | 2018-12-21 | | 2017-12-01 | | 2015-12-02 | | 2017-12-14 | +---------------+ 4 rows in set (0.00 sec)
व्याख्या: MONTH(AdmissionDate) = 01 जनवरी वाले रिकॉर्ड चुनता है। DATE_ADD(..., INTERVAL -1 MONTH) एक महीना घटाता है, जिससे जनवरी दिसंबर (पिछले वर्ष) बन जाता है। दिन और वर्ष स्वचालित रूप से समायोजित होते हैं।