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

MySQL में 8 महीने के अंतराल के बाद के रिकॉर्ड्स प्राप्त करना

MySQL में वर्तमान तिथि से 8 महीने पहले के रिकॉर्ड्स प्राप्त करने के लिए INTERVAL 8 MONTH का उपयोग CURRENT_DATE() फ़ंक्शन के साथ किया जाता है। यह रिपोर्टिंग और डेटा विश्लेषण के लिए बहुत उपयोगी है।

सिंटैक्स

SELECT * FROM your_table_name 
WHERE your_date_column >= (CURRENT_DATE() - INTERVAL 8 MONTH);

व्यावहारिक उदाहरण

1. टेबल बनाएं और नमूना डेटा डालें

mysql> CREATE TABLE DemoTable (
    StudentName VARCHAR(100),
    AdmissionDate DATE
);
Query OK, 0 rows affected (0.75 sec)

mysql> INSERT INTO DemoTable VALUES 
('John', '2019-01-21'),
('Chris', '2019-10-04'),
('Robert', '2018-02-01'),
('David', '2019-07-07');
Query OK, 4 rows affected (0.20 sec)

2. सभी रिकॉर्ड्स देखें

mysql> SELECT * FROM DemoTable;
+-------------+---------------+
| StudentName | AdmissionDate |
+-------------+---------------+
| John        | 2019-01-21    |
| Chris       | 2019-10-04    |
| Robert      | 2018-02-01    |
| David       | 2019-07-07    |
+-------------+---------------+
4 rows in set (0.00 sec)

3. 8 महीने के अंतराल के बाद के रिकॉर्ड्स प्राप्त करें

mysql> SELECT * FROM DemoTable 
WHERE AdmissionDate >= (CURRENT_DATE() - INTERVAL 8 MONTH);
+-------------+---------------+
| StudentName | AdmissionDate |
+-------------+---------------+
| John        | 2019-01-21    |
| Chris       | 2019-10-04    |
| David       | 2019-07-07    |
+-------------+---------------+
3 rows in set (0.00 sec)

व्याख्या

मान लें वर्तमान तिथि 2018-02-06 है। 8 महीने पहले की तिथि 2017-06-06 होगी। इसलिए 2017-06-06 के बाद प्रवेश लेने वाले छात्र (John, Chris, David) परिणाम में शामिल हैं, जबकि Robert (2018-02-01) शामिल नहीं है क्योंकि उसकी तिथि 8 महीने की विंडो के बाहर है।

अन्य उपयोगी अंतराल

  • INTERVAL 6 MONTH - 6 महीने
  • INTERVAL 1 YEAR - 1 वर्ष
  • INTERVAL 30 DAY - 30 दिन
  • INTERVAL 2 WEEK - 2 सप्ताह
  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 क्वेरी में UNIX_TIMESTAMP के साथ अलग फॉर्मेट में डेट का उपयोग करके विशिष्ट डेट के बाद के रिकॉर्ड प्राप्त करें?

    इसके लिए आप STR_TO_DATE() का उपयोग कर सकते हैं, क्योंकि हमारे पास निम्न फॉर्मेट में डेट रिकॉर्ड हैं: 21/11/2019। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable1808 ( AdmissionDate varchar(20) ); Query OK, 0 rows affected (0.00 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड

  1. - MySQL में एकल INSERT से एकाधिक रिकॉर्ड तेजी से डालें

    बल्क इंसर्ट सिंटैक्स से प्रदर्शन सुधारें एक ही INSERT स्टेटमेंट में कई मान सेट अल्पविराम से अलग करके डालें। सिंटैक्स: insert into yourTableName values(val1,val2,...),(val1,val2,...),...; उदाहरण: mysql> create table DemoTable2007 ( Amount1 int, Amount2 int, Amount3 int ); Query OK, 0 rows affected