Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL में DATE_ADD() का उपयोग करके दूसरी कॉलम के मान के आधार पर तिथि कैसे बढ़ाएं?

मान लें एक टेबल है जिसमें एक कॉलम DueDate और दूसरा RepeatTime है, जो दर्शाता है कि उपयोगकर्ता को भुगतान जमा करने के लिए कितनी बार याद दिलाया गया।

टेबल बनाएं

mysql> create table DemoTable (
    -> DueDate DATE,
    -> RepeatTime INT
    -> );
Query OK, 0 rows affected (0.57 sec)

रिकॉर्ड्स डालें

mysql> insert into DemoTable values('2019-01-23',3);
Query OK, 1 row affected (0.13 sec)
mysql> insert into DemoTable values('2019-06-22',6);
Query OK, 1 row affected (0.19 sec)
mysql> insert into DemoTable values('2019-03-28',2);
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable values('2017-07-25',6);
Query OK, 1 row affected (0.15 sec)

सभी रिकॉर्ड्स देखें

mysql> select * from DemoTable;
+------------+------------+
| DueDate    | RepeatTime |
+------------+------------+
| 2019-01-23 | 3          |
| 2019-06-22 | 6          |
| 2019-03-28 | 2          |
| 2017-07-25 | 6          |
+------------+------------+
4 rows in set (0.00 sec)

दूसरे कॉलम के मान के आधार पर तिथि बढ़ाने का क्वेरी

mysql> UPDATE DemoTable SET DueDate = DATE_ADD(DueDate, INTERVAL RepeatTime MONTH) WHERE RepeatTime != 6;
Query OK, 2 rows affected (0.25 sec)
Rows matched: 2  Changed: 2  Warnings: 0

फिर से जांचें

mysql> select * from DemoTable;
+------------+------------+
| DueDate    | RepeatTime |
+------------+------------+
| 2019-04-23 | 3          |
| 2019-06-22 | 6          |
| 2019-05-28 | 2          |
| 2017-07-25 | 6          |
+------------+------------+
4 rows in set (0.00 sec)

व्याख्या:

  • DATE_ADD(DueDate, INTERVAL RepeatTime MONTH) - RepeatTime महीने जोड़ें
  • WHERE RepeatTime != 6 - केवल RepeatTime 6 नहीं वाली पंक्तियां अपडेट करें
  • पहली पंक्ति: 2019-01-23 + 3 महीने = 2019-04-23
  • तीसरी पंक्ति: 2019-03-28 + 2 महीने = 2019-05-28
  • दूसरी और चौथी पंक्ति अपरिवर्तित (RepeatTime=6)

संबंधित: DATE_SUB() घटाने के लिए, INTERVAL में DAY, WEEK, QUARTER, YEAR आदि उपयोग कर सकते हैं।

  1. - MySQL में कॉलम मान के पहले अक्षर को प्राप्त करके दूसरे कॉलम में डालें

    समाधान LEFT() फंक्शन का उपयोग करके पहले अक्षर को निकालें और UPDATE से दूसरे कॉलम में स्टोर करें। उदाहरण टेबल बनाएं: INSERT INTO DemoTable2036 (Title) VALUES (Chris), (John), (Adam); अपडेट क्वेरी UPDATE DemoTable2036 SET FirstLetter = LEFT(Title, 1); परिणाम +-------------+-------+ | FirstLetter

  1. - MySQL में मान 0 होने पर दूसरे कॉलम का मान कैसे चुनें?

    IF() फ़ंक्शन का उपयोग यदि किसी कॉलम का मान 0 है तो दूसरे कॉलम का मान लेने के लिए IF() फ़ंक्शन प्रयोग करें: select IF(yourColumnName1=0, yourColumnName2, yourColumnName1) as anyAliasName from yourTableName; टेबल बनाना और डेटा डालना insert into demo30(value,original_value) values(30,0); डेटा देखना

  1. - MySQL में किसी कॉलम में अधिकतम मान खोजना

    किसी कॉलम में अधिकतम मान खोजने के लिए MAX(columnName) का उपयोग करना होगा। लेकिन, पहले, हम MySQL में डेटाबेस और टेबल के बारे में समझेंगे। MySQL इंस्टॉल करने से पहले, यह निर्धारित करना महत्वपूर्ण है कि किस संस्करण और किस डिस्ट्रीब्यूशन फॉर्मेट (यह बाइनरी फाइल या सोर्स फाइलों से हो सकता है) का उपयोग