DATE_SUB() या - INTERVAL से दिनांक घटाएं
MySQL में वर्तमान दिनांक/समय से दिन घटाने के लिए DATE_SUB() फ़ंक्शन या - INTERVAL सिंटैक्स का उपयोग करें।
विधि 1: DATE_SUB() फ़ंक्शन
SELECT DATE_SUB(NOW(), INTERVAL 30 DAY);
उदाहरण
mysql> SELECT NOW();
+---------------------+ | NOW() | +---------------------+ | 2018-11-23 16:38:43 | +---------------------+
mysql> SELECT DATE_SUB(NOW(), INTERVAL 30 DAY);
+---------------------------------+ | DATE_SUB(NOW(), INTERVAL 30 DAY) | +---------------------------------+ | 2018-10-24 16:38:50 | +---------------------------------+
विधि 2: - INTERVAL सिंटैक्स (सरल)
SELECT NOW() - INTERVAL 30 DAY;
केवल दिनांक (समय के बिना)
SELECT DATE_SUB(CURDATE(), INTERVAL 30 DAY); -- या SELECT CURDATE() - INTERVAL 30 DAY;
+-------------------------------------+ | DATE_SUB(CURDATE(), INTERVAL 30 DAY) | +-------------------------------------+ | 2018-10-24 | +-------------------------------------+
WHERE क्लॉज में उपयोग (पिछले 30 दिन के रिकॉर्ड)
SELECT * FROM orders WHERE order_date >= DATE_SUB(CURDATE(), INTERVAL 30 DAY);
अन्य अंतराल
DATE_SUB(NOW(), INTERVAL 6 MONTH); DATE_SUB(NOW(), INTERVAL 1 YEAR); DATE_SUB(NOW(), INTERVAL '1 12' DAY_HOUR); -- कंपाउंड
नोट्स
DATE_SUB(date, INTERVAL expr unit)मानक SQL फ़ंक्शन हैdate - INTERVAL expr unitMySQL विस्तार है (अधिक संक्षिप्त)- दोनों समान परिणाम देते हैं
- महीना/वर्ष घटाने पर महीने के अंत का तर्क लागू होता है