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

MySQL में DATE_SUB और INTERVAL का उपयोग करके 15+ दिन पुराने टाइमस्टैम्प वाले रिकॉर्ड प्राप्त करना

MySQL में DATE_SUB() और INTERVAL का उपयोग करके वर्तमान दिनांक से 15 या अधिक दिन पुराने रिकॉर्ड प्राप्त करें।

उदाहरण: टेबल बनाना और डेटा डालना

mysql> CREATE TABLE DemoTable (
    -> ArrivalDate DATETIME
    -> );
Query OK, 0 rows affected (0.91 sec)

मान लें वर्तमान दिनांक 2019-07-03 है:

mysql> INSERT INTO DemoTable VALUES
    -> ('2019-07-03'),  -- आज (0 दिन पुराना)
    -> ('2019-06-20'),  -- 13 दिन पुराना
    -> ('2019-06-15'),  -- 18 दिन पुराना
    -> ('2018-06-11'),  -- 1+ साल पुराना
    -> ('2018-06-01');  -- 1+ साल पुराना

सभी रिकॉर्ड देखना

mysql> SELECT * FROM DemoTable;

आउटपुट

+---------------------+
| ArrivalDate         |
+---------------------+
| 2019-07-03 00:00:00 |
| 2019-06-20 00:00:00 |
| 2019-06-15 00:00:00 |
| 2018-06-11 00:00:00 |
| 2018-06-01 00:00:00 |
+---------------------+
5 rows in set (0.00 sec)

15+ दिन पुराने रिकॉर्ड प्राप्त करने की क्वेरी

mysql> SELECT * FROM DemoTable
    -> WHERE ArrivalDate < DATE_SUB(NOW(), INTERVAL 15 DAY)
    -> ORDER BY ArrivalDate DESC;

आउटपुट

+---------------------+
| ArrivalDate         |
+---------------------+
| 2019-06-15 00:00:00 |
| 2018-06-11 00:00:00 |
| 2018-06-01 00:00:00 |
+---------------------+
3 rows in set (0.00 sec)

व्याख्या:

  • NOW() वर्तमान दिनांक-समय लौटाता है
  • DATE_SUB(NOW(), INTERVAL 15 DAY) 15 दिन पहले की दिनांक देता है (2019-06-18)
  • ArrivalDate < ... उन रिकॉर्ड को चुनता है जो 15 दिन से अधिक पुराने हैं
  • ORDER BY ArrivalDate DESC नवीनतम से सबसे पुराने क्रम में

वैकल्पिक सिंटैक्स: WHERE ArrivalDate <= DATE_SUB(CURDATE(), INTERVAL 15 DAY) (केवल दिनांक तुलना के लिए)।

प्रदर्शन टिप: ArrivalDate पर इंडेक्स होने से यह क्वेरी तेज़ होगी।

  1. - MySQL में FORMAT() का उपयोग करके मुद्रा रिकॉर्ड कैसे सेट करें?

    MySQL में FORMAT() फ़ंक्शन का उपयोग करके संख्याओं को मुद्रा फॉर्मेट (हजारों विभाजक, निश्चित दशमलव) में प्रदर्शित किया जा सकता है। सिंटैक्स CONCAT(CURRENCY_SYMBOL , FORMAT(amount, decimal_places)) उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Amount DECIMAL(15,4)); mysql> INSERT INTO De

  1. - महीनों की एक श्रृंखला से रिकॉर्ड प्राप्त करने का MySQL क्वेरी?

    आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1795 ( Name varchar(20), DueDate date ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable1795 values(John,2018-07-21); Query OK, 1 row affected (0.00 sec)

  1. - MySQL में DATE_SUB और INTERVAL से 15 दिन पुराने रिकॉर्ड प्राप्त करें

    वर्तमान दिनांक से निश्चित अंतराल (जैसे 15 दिन) पहले की तारीख वाले रिकॉर्ड प्राप्त करने के लिए DATE_SUB() और INTERVAL का उपयोग करें। टेबल बनाएं mysql> CREATE TABLE DemoTable1845 ( ArrivalDate DATE ); डेटा डालें mysql> INSERT INTO DemoTable1845 VALUES(2019-12-02); mysql> INSERT INTO Dem