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

MySQL में INTERVAL का उपयोग करके DATETIME फ़ील्ड में एक दिन जोड़ें

MySQL में DATE_ADD और INTERVAL का उपयोग करके तिथि में दिन जोड़ना

MySQL में DATE_ADD() फ़ंक्शन और INTERVAL कीवर्ड का उपयोग करके आप किसी तिथि/डेटाइम में दिन, महीने, वर्ष आदि जोड़ या घटा सकते हैं।

टेबल बनाना

mysql> CREATE TABLE DemoTable (
    -> DueDate DATE
    -> );
Query OK, 0 rows affected (2.11 sec)

डेटा डालना

mysql> INSERT INTO DemoTable VALUES ('2019-01-21');
Query OK, 1 row affected (0.13 sec)
mysql> INSERT INTO DemoTable VALUES ('2018-12-31');
Query OK, 1 row affected (0.47 sec)
mysql> INSERT INTO DemoTable VALUES ('2018-12-30');
Query OK, 1 row affected (0.28 sec)
mysql> INSERT INTO DemoTable VALUES ('2017-02-26');
Query OK, 1 row affected (0.47 sec)

मूल तिथियाँ

mysql> SELECT * FROM DemoTable;
+------------+
| DueDate    |
+------------+
| 2019-01-21 |
| 2018-12-31 |
| 2018-12-30 |
| 2017-02-26 |
+------------+
4 rows in set (0.00 sec)

सभी तिथियों में 1 दिन जोड़ने का UPDATE क्वेरी

mysql> UPDATE DemoTable 
    -> SET DueDate = DATE_ADD(DueDate, INTERVAL 1 DAY);
Query OK, 4 rows affected (0.21 sec)
Rows matched: 4  Changed: 4  Warnings: 0

अपडेट के बाद तिथियाँ

mysql> SELECT * FROM DemoTable;
+------------+
| DueDate    |
+------------+
| 2019-01-22 |
| 2019-01-01 |  -- वर्ष परिवर्तन सही ढंग से संभाला गया
| 2018-12-31 |  -- महीना परिवर्तन सही ढंग से संभाला गया
| 2017-02-27 |
+------------+
4 rows in set (0.00 sec)

DATE_ADD सिंटैक्स

DATE_ADD(date, INTERVAL expr unit)

आम INTERVAL इकाइयाँ

इकाईउदाहरणविवरण
SECONDINTERVAL 30 SECOND30 सेकंड जोड़ें
MINUTEINTERVAL 45 MINUTE45 मिनट जोड़ें
HOURINTERVAL 2 HOUR2 घंटे जोड़ें
DAYINTERVAL 1 DAY1 दिन जोड़ें
WEEKINTERVAL 1 WEEK1 सप्ताह जोड़ें
MONTHINTERVAL 3 MONTH3 महीने जोड़ें
QUARTERINTERVAL 1 QUARTER1 तिमाही (3 महीने) जोड़ें
YEARINTERVAL 1 YEAR1 वर्ष जोड़ें

संयुक्त अंतराल

-- 1 वर्ष 2 महीने 3 दिन जोड़ें
DATE_ADD(date, INTERVAL '1-2' YEAR_MONTH)  -- YEAR_MONTH विशेष इकाई
DATE_ADD(date, INTERVAL '1 2:30:45' DAY_SECOND)  -- जटिल अंतराल

घटाने के लिए DATE_SUB

-- 1 दिन घटाएं
UPDATE DemoTable SET DueDate = DATE_SUB(DueDate, INTERVAL 1 DAY);

-- या नकारात्मक अंतराल के साथ DATE_ADD
UPDATE DemoTable SET DueDate = DATE_ADD(DueDate, INTERVAL -1 DAY);

शॉर्टकट ऑपरेटर (MySQL विशिष्ट)

-- ये समतुल्य हैं:
DATE_ADD(DueDate, INTERVAL 1 DAY)
DueDate + INTERVAL 1 DAY

-- घटाने के लिए:
DueDate - INTERVAL 1 DAY

SELECT में उपयोग (बिना अपडेट किए गणना)

SELECT 
    DueDate AS OriginalDate,
    DueDate + INTERVAL 1 DAY AS NextDay,
    DueDate + INTERVAL 7 DAY AS NextWeek,
    DueDate + INTERVAL 1 MONTH AS NextMonth
FROM DemoTable;

लीप वर्ष और महीना अंत संचालन

MySQL स्वचालित रूप से संभालता है:

  • महीना अंत: जनवरी 31 + 1 महीना = फरवरी 28/29
  • लीप वर्ष: फरवरी 28 + 1 दिन = फरवरी 29 (लीप वर्ष में)
  • वर्ष अंत: दिसंबर 31 + 1 दिन = जनवरी 1 (अगला वर्ष)
  1. - MySQL में DATE_ADD और INTERVAL से DATETIME कॉलम में दिन जोड़ें

    DATE_ADD() फ़ंक्शन के साथ INTERVAL n DAY का उपयोग करके DATETIME कॉलम में दिन जोड़ें (या घटाएं)। टेबल बनाएं mysql> CREATE TABLE DemoTable1871 (ArrivalDate DATETIME); डेटा डालें mysql> INSERT INTO DemoTable1871 VALUES(2019-12-19 07:45:00), (2018-11-10 12:00:00), (2019-01-31); 6 दिन जोड़ें (UP

  1. - MySQL: GROUP BY के साथ फील्ड कैसे अपडेट करें?

    समस्या MySQL सीधे UPDATE में GROUP BY का समर्थन नहीं करता। समाधान: ORDER BY LIMIT का उपयोग करें। उदाहरण टेबल बनाएं: ); डेटा डालें: INSERT INTO DemoTable2018 (EmployeeName, EmployeeSalary) VALUES (Chris, 25400); अपडेट क्वेरी Chris की पहली प्रविष्टि (EmployeeId के अनुसार) का वेतन बढ़ाएं: ORDER B

  1. - MySQL में विभिन्न पंक्तियों से सूची को एक फ़ील्ड में कैसे लौटाएं

    समाधान GROUP_CONCAT() फंक्शन का उपयोग करके GROUP BY के साथ मानों को जोड़ें। उदाहरण टेबल बनाएं: ); डेटा डालें: INSERT INTO DemoTable2024 VALUES (MongoDB, Mike); क्वेरी FROM DemoTable2024 GROUP BY SubjectName; परिणाम +-------------+---------------------------+ | SubjectName | group_concat(Stude