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

MySQL में एक डेटाटाइम कॉलम से दूसरे में डेटा कॉपी/अपडेट करना

MySQL में UPDATE और DATE_ADD() से एक डेटाटाइम कॉलम का मान दूसरे में कॉपी/संशोधित करना

परिदृश्य

एक टेबल में दो डेटाटाइम कॉलम हैं: IssueDate और DueDate। DueDate को IssueDate के सापेक्ष (relative) सेट करना है।

व्यावहारिक उदाहरण

1. टेबल बनाएं:

mysql> CREATE TABLE AddDateTimeWithOther (
    -> Id INT,
    -> IssueDate DATETIME,
    -> DueDate DATETIME
    -> ); 
Query OK, 0 rows affected (0.69 sec)

2. सापेक्ष तारीखों के साथ डेटा डालें:

mysql> INSERT INTO AddDateTimeWithOther VALUES(100, NOW(), DATE_ADD(NOW(), INTERVAL -3 YEAR));
mysql> INSERT INTO AddDateTimeWithOther VALUES(101, NOW(), DATE_ADD(NOW(), INTERVAL 2 YEAR));

3. डाला गया डेटा:

+------+---------------------+---------------------+ 
| Id   | IssueDate           | DueDate             | 
+------+---------------------+---------------------+ 
| 100  | 2018-12-11 17:33:28 | 2015-12-11 17:33:28 | 
| 101  | 2018-12-11 17:33:37 | 2020-12-11 17:33:37 | 
+------+---------------------+---------------------+ 
2 rows in set (0.00 sec)

4. DueDate अपडेट करें (Id=100 के लिए):

mysql> UPDATE AddDateTimeWithOther 
    -> SET DueDate = DATE_ADD(NOW(), INTERVAL 1 YEAR) 
    -> WHERE Id = 100; 
Query OK, 1 row affected (0.24 sec)

5. अपडेट के बाद:

+------+---------------------+---------------------+ 
| Id   | IssueDate           | DueDate             | 
+------+---------------------+---------------------+ 
| 100  | 2018-12-11 17:33:28 | 2019-12-11 17:35:03 | 
| 101  | 2018-12-11 17:33:37 | 2020-12-11 17:33:37 | 
+------+---------------------+---------------------+ 
2 rows in set (0.00 sec)

DATE_ADD() इंटरवल सिंटैक्स:

DATE_ADD(date, INTERVAL expr unit)
यूनिटउदाहरण
SECONDINTERVAL 30 SECOND
MINUTEINTERVAL 45 MINUTE
HOURINTERVAL 2 HOUR
DAYINTERVAL 7 DAY
MONTHINTERVAL 3 MONTH
YEARINTERVAL 1 YEAR
MINUTE_SECONDINTERVAL '10:30' MINUTE_SECOND
DAY_HOURINTERVAL '2 10' DAY_HOUR

अन्य उपयोगी डेटा फंक्शन:

-- दो डेटा के बीच अंतर (दिनों में)
SELECT DATEDIFF(date1, date2);

-- एक डेटा में समय जोड़ें
SELECT ADDTIME('2023-01-01 10:00:00', '02:30:00');

-- वर्तमान टाइमस्टैम्प
SELECT NOW();        -- डेटा + समय
SELECT CURDATE();    -- केवल डेटा
SELECT CURTIME();    -- केवल समय
  1. - MySQL में INSERT ... SELECT क्वेरी का उपयोग कैसे करें?

    MySQL में INSERT ... SELECT स्टेटमेंट एक ही क्वेरी में एक तालिका से दूसरी तालिका में डेटा कॉपी करने या मानों की गणना करके डालने की अनुमति देता है। सिंटैक्स INSERT INTO target_table (col1, col2, col3, ...) SELECT col1, col2, col3, ... FROM source_table WHERE condition; उदाहरण: मानों को सीधे चुनकर ड

  1. - MySQL टेबल में JSON डेटा कैसे डालें?

    MySQL 5.7+ में नेटिव JSON डेटा प्रकार है जो JSON दस्तावेज़ों को मान्य, संग्रहीत और क्वेरी करने की अनुमति देता है। JSON कॉलम वाली टेबल बनाएं mysql> CREATE TABLE DemoTable1832 ( ListOfNames JSON ); JSON सरणी डालें mysql> INSERT INTO DemoTable1832(ListOfNames) VALUES([Sam, Mike, Carol]); my

  1. - MySQL में INSERT INTO SELECT से दूसरी टेबल के मान लेकर नई टेबल भरें

    सिंटैक्स insert into targetTable(col1, col2) select sourceCol1, sourceCol2 from sourceTable where condition; उदाहरण insert into demo83(id,username) select id,name from demo82 where id=101; परिणाम +------+----------+ | id | username | +------+----------+ | 101 | Bob | | 101 | David |