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

MySQL में वर्तमान दिनांक/समय से 30 दिन कैसे घटाएं?


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 unit MySQL विस्तार है (अधिक संक्षिप्त)
  • दोनों समान परिणाम देते हैं
  • महीना/वर्ष घटाने पर महीने के अंत का तर्क लागू होता है
  1. - MySQL में डेटाइम कॉलम के सभी रिकॉर्ड से सेकंड कैसे घटाएँ?

    MySQL में INTERVAL से डेटाइम कॉलम से सेकंड घटाना डेटाइम कॉलम के सभी मानों से सेकंड घटाने के लिए INTERVAL कीवर्ड का उपयोग करें। टेबल बनाना और डेटा डालना mysql> CREATE TABLE DemoTable833 (ArrivalTime DATETIME); Query OK, 0 rows affected (0.79 sec) mysql> INSERT INTO DemoTable833 VALUES(2019-01-1

  1. - MySQL में DATE_FORMAT का उपयोग करके DATETIME से केवल तिथि प्राप्त करना

    MySQL में DATE_FORMAT() के साथ DATETIME से केवल तिथि भाग निकालना DATE_FORMAT() फ़ंक्शन तिथि/समय मान को निर्दिष्ट फॉर्मेट स्ट्रिंग के अनुसार फॉर्मेट करता है। %d.%m.%Y फॉर्मेट दिन.महीना.वर्ष देता है। व्यावहारिक उदाहरण तालिका बनाना CREATE TABLE DemoTable ( AdmissionDate DATETIME ); DATETIME मान

  1. - MySQL में उन पंक्तियों का चयन कैसे करें जो वर्तमान दिनांक से >= 1 DAY हैं?

    वर्तमान दिनांक से 1 दिन अधिक या बराबर डेटा प्राप्त करने के लिए MySQL में INTERVAL की अवधारणा का उपयोग करें। वर्तमान दिनांक निम्न है: mysql> select curdate(); +------------+ | curdate() | +------------+ | 2019-11-29 | +------------+ 1 row in set (0.00 sec) हम पहले एक टेबल बनाएंगे: mysql> creat