
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Select MySQL Rows Where Today's Date is Between Two Date Columns
To select MySQL rows where today’s date is between two date columns, you need to use AND operator. The syntax is as follows:
SELECT *FROM yourTableName WHERE yourDateColumnName1 <=’yourDateValue’ AND yourDateColumnName2 >= ‘’yourDateValue’;
To understand the above syntax, let us create a table. The query to create a table is as follows:
mysql> create table selectDates -> ( -> Id int NOT NULL AUTO_INCREMENT, -> StartingDate date, -> EndingDate date, -> PRIMARY KEY(Id) -> ); Query OK, 0 rows affected (0.80 sec)
Now you can insert some records in the table using insert command. The query is as follows:
mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-11','2019-01-23'); Query OK, 1 row affected (0.17 sec) mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-10','2019-01-23'); Query OK, 1 row affected (0.17 sec) mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-30','2019-01-30'); Query OK, 1 row affected (0.12 sec) mysql> insert into selectDates(StartingDate,EndingDate) values('2019-10-14','2019-10-28'); Query OK, 1 row affected (0.17 sec) mysql> insert into selectDates(StartingDate,EndingDate) values('2019-10-14','2019-10-20'); Query OK, 1 row affected (0.19 sec) mysql> insert into selectDates(StartingDate,EndingDate) values('2019-11-17','2019-11-19'); Query OK, 1 row affected (0.52 sec) mysql> insert into selectDates(StartingDate,EndingDate) values('2019-12-21','2019-12-31'); Query OK, 1 row affected (0.19 sec) mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-06','2019-01-21'); Query OK, 1 row affected (0.16 sec) mysql> insert into selectDates(StartingDate,EndingDate) values('2019-01-07','2019-01-17'); Query OK, 1 row affected (0.18 sec)
Display all records from the table using select statement. The query is as follows:
mysql> select *from selectDates;
The following is the output:
+----+--------------+------------+ | Id | StartingDate | EndingDate | +----+--------------+------------+ | 1 | 2019-01-11 | 2019-01-23 | | 2 | 2019-01-10 | 2019-01-23 | | 3 | 2019-01-30 | 2019-01-30 | | 4 | 2019-10-14 | 2019-10-28 | | 5 | 2019-10-14 | 2019-10-20 | | 6 | 2019-11-17 | 2019-11-19 | | 7 | 2019-12-21 | 2019-12-31 | | 8 | 2019-01-06 | 2019-01-21 | | 9 | 2019-01-07 | 2019-01-17 | +----+--------------+------------+ 9 rows in set (0.00 sec)
Here is the query to select today’s date between two date columns:
select *from selectDates where StartingDate <='2019-01-10' AND EndingDate >='2019-01-10';
The following is the output:
+----+--------------+------------+ | Id | StartingDate | EndingDate | +----+--------------+------------+ | 2 | 2019-01-10 | 2019-01-23 | | 8 | 2019-01-06 | 2019-01-21 | | 9 | 2019-01-07 | 2019-01-17 | +----+--------------+------------+ 3 rows in set (0.00 sec)
Advertisements