Use BETWEEN and INTERVAL to achieve this. Let us first create a table −
mysql> create table DemoTable -> ( -> AdmissionDate date -> ); Query OK, 0 rows affected (0.84 sec)
Insert some records in the table using insert command −
mysql> insert into DemoTable values('2019-09-30'); Query OK, 1 row affected (0.19 sec) mysql> insert into DemoTable values('2019-10-01'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('2019-03-30'); Query OK, 1 row affected (0.21 sec) mysql> insert into DemoTable values('2019-04-24'); Query OK, 1 row affected (0.17 sec)
Display all records from the table using select statement −
mysql> select *from DemoTable;
Output
+---------------+ | AdmissionDate | +---------------+ | 2019-09-30 | | 2019-10-01 | | 2019-03-30 | | 2019-04-24 | +---------------+ 4 rows in set (0.00 sec)
Following is the query to select dates between current date and 3 month from the current date in MySQL −
mysql> select *from DemoTable WHERE AdmissionDate BETWEEN curdate() - INTERVAL 3 MONTH AND curdate();
Output
+---------------+ | AdmissionDate | +---------------+ | 2019-03-30 | | 2019-04-24 | +---------------+ 2 rows in set (0.00 sec)