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

MySQL में DATE_SUB() का उपयोग करके मौजूदा दिनांक-समय रिकॉर्ड्स से 1 घंटा घटाना

MySQL DATE_SUB() के साथ दिनांक-समय गणना

MySQL में DATE_SUB() फ़ंक्शन का उपयोग करके आप किसी दिनांक-समय मान से एक समय अंतराल घटा सकते हैं। यह शेड्यूलिंग, लॉग विश्लेषण और समय-आधारित गणनाओं के लिए उपयोगी है।

उदाहरण: आगमन समय से 1 घंटा घटाना

पहले एक टेबल बनाते हैं और कुछ दिनांक-समय रिकॉर्ड्स डालते हैं:

mysql> CREATE TABLE DemoTable1434 (
    -> ArrivalDatetime DATETIME
    -> );
Query OK, 0 rows affected (3.14 sec)

mysql> INSERT INTO DemoTable1434 VALUES
    -> ('2019-09-30 21:10:00'), ('2018-09-30 22:20:40'),
    -> ('2017-09-30 23:10:00');
Query OK, 3 rows affected (0.18 sec)

mysql> SELECT * FROM DemoTable1434;
+---------------------+
| ArrivalDatetime     |
+---------------------+
| 2019-09-30 21:10:00 |
| 2018-09-30 22:20:40 |
| 2017-09-30 23:10:00 |
+---------------------+
3 rows in set (0.00 sec)

वर्तमान समय से 1 घंटा घटाकर अपडेट करना

NOW() से 1 घंटा घटाकर सभी रिकॉर्ड्स अपडेट करें:

mysql> UPDATE DemoTable1434
    -> SET ArrivalDatetime = DATE_SUB(NOW(), INTERVAL 1 HOUR);
Query OK, 3 rows affected (0.19 sec)
Rows matched: 3  Changed: 3  Warnings: 0

वर्तमान समय और परिणाम

mysql> SELECT NOW();
+---------------------+
| now()               |
+---------------------+
| 2019-09-30 21:16:48 |
+---------------------+
1 row in set (0.00 sec)

mysql> SELECT * FROM DemoTable1434;
+---------------------+
| ArrivalDatetime     |
+---------------------+
| 2019-09-30 20:16:39 |
| 2019-09-30 20:16:39 |
| 2019-09-30 20:16:39 |
+---------------------+
3 rows in set (0.00 sec)

महत्वपूर्ण नोट

ध्यान दें: यह क्वेरी सभी पंक्तियों को एक ही मान (वर्तमान समय घटा 1 घंटा) पर सेट करती है। यदि आप प्रत्येक पंक्ति के मौजूदा मान से 1 घंटा घटाना चाहते हैं, तो इसके बजाय उपयोग करें:
UPDATE DemoTable1434 SET ArrivalDatetime = DATE_SUB(ArrivalDatetime, INTERVAL 1 HOUR);

सामान्य अंतराल इकाइयाँ

  • SECOND, MINUTE, HOUR
  • DAY, WEEK, MONTH, YEAR
  • MICROSECOND, QUARTER
  1. - MySQL में SUM() और MONTH() से वर्तमान माह के रिकॉर्ड का योग प्राप्त करें

    SUM() एग्रीगेट फ़ंक्शन के साथ MONTH() और YEAR() फ़िल्टर का उपयोग करके वर्तमान माह के रिकॉर्ड का योग प्राप्त करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1889 (DueDate DATE, Amount INT); डेटा डालें mysql> INSERT INTO DemoTable1889 VALUES(2019-12-11, 500), (2019-11-11, 1000), (2018-12-04, 700

  1. - MySQL में एकाधिक टेबल्स से रिकॉर्ड इन्सर्ट कैसे करें?

    MySQL में दो या अधिक टेबल्स से डेटा संयोजित करके तीसरी टेबल में इन्सर्ट करने के लिए, INSERT INTO ... SELECT के साथ क्रॉस जॉइन (कॉमा सिंटैक्स) या स्पष्ट JOIN का उपयोग करें। यह कार्टेशियन प्रोडक्ट (सभी संयोजन) या मिलान वाले संयोजन बना सकता है। उदाहरण: Name और Age टेबल से Student टेबल में कार्टेशियन प

  1. - MySQL में एकल INSERT से एकाधिक रिकॉर्ड तेजी से डालें

    बल्क इंसर्ट सिंटैक्स से प्रदर्शन सुधारें एक ही INSERT स्टेटमेंट में कई मान सेट अल्पविराम से अलग करके डालें। सिंटैक्स: insert into yourTableName values(val1,val2,...),(val1,val2,...),...; उदाहरण: mysql> create table DemoTable2007 ( Amount1 int, Amount2 int, Amount3 int ); Query OK, 0 rows affected