MySQL में वर्तमान दिनांक/समय में अंतराल जोड़ें
MySQL में वर्तमान दिनांक/समय (NOW() या CURDATE()) में दिन जोड़ने के कई तरीके हैं।
विधि 1: + INTERVAL सिंटैक्स (सबसे सरल)
SELECT NOW() + INTERVAL 1 DAY;
+-----------------------+ | NOW() + INTERVAL 1 DAY | +-----------------------+ | 2018-11-23 15:43:10 | +-----------------------+
विधि 2: DATE_ADD() फ़ंक्शन
SELECT DATE_ADD(NOW(), INTERVAL 1 DAY);
+--------------------------------+ | DATE_ADD(NOW(), INTERVAL 1 DAY) | +--------------------------------+ | 2018-11-23 15:45:43 | +--------------------------------+
केवल दिनांक (समय के बिना)
-- CURDATE() + INTERVAL SELECT CURDATE() + INTERVAL 1 DAY; -- DATE_ADD(CURDATE(), ...) SELECT DATE_ADD(CURDATE(), INTERVAL 1 DAY);
+--------------------------+ | CURDATE() + INTERVAL 1 DAY | +--------------------------+ | 2018-11-23 | +--------------------------+
अन्य अंतराल इकाइयाँ
| इकाई | उदाहरण |
|---|---|
| MICROSECOND | INTERVAL 500 MICROSECOND |
| SECOND | INTERVAL 30 SECOND |
| MINUTE | INTERVAL 15 MINUTE |
| HOUR | INTERVAL 2 HOUR |
| DAY | INTERVAL 1 DAY |
| WEEK | INTERVAL 1 WEEK |
| MONTH | INTERVAL 1 MONTH |
| QUARTER | INTERVAL 1 QUARTER |
| YEAR | INTERVAL 1 YEAR |
| COMPOUND | INTERVAL '1 12:30:00' DAY_SECOND |
कॉलम पर उपयोग
SELECT DATE_ADD(order_date, INTERVAL 7 DAY) AS due_date FROM orders;
घटाने के लिए
SELECT DATE_SUB(NOW(), INTERVAL 1 DAY); -- या SELECT NOW() - INTERVAL 1 DAY;
नोट्स
NOW()कनेक्शन के समय क्षेत्र में वर्तमान दिनांक-समय लौटाता हैCURDATE()केवल दिनांक भाग लौटाता है (समय 00:00:00)DATE_ADDऔर+ INTERVALकार्यात्मक रूप से समान हैं- महीना/वर्ष जोड़ने पर महीने के अंत का तर्क लागू होता है (उदाहरण: Jan 31 + 1 महीना = Feb 28/29)