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)
महत्वपूर्ण नोट
UPDATE DemoTable1434 SET ArrivalDatetime = DATE_SUB(ArrivalDatetime, INTERVAL 1 HOUR);
सामान्य अंतराल इकाइयाँ
SECOND,MINUTE,HOURDAY,WEEK,MONTH,YEARMICROSECOND,QUARTER