选择今天日期介于两列日期之间的 MySQL 行?


要选择 MySQL 行,条件是今天的日期在两个日期列之间,你需要使用 AND 运算符。语法如下所示

SELECT *FROM yourTableName WHERE yourDateColumnName1 <=’yourDateValue’ AND
yourDateColumnName2 >= ‘’yourDateValue’;

为了了解上述语法,让我们创建一个表。用于创建表的查询如下所示

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)

现在你可以使用插入式命令在表中插入一些记录。查询如下所示

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)

使用 select 语句从表中显示所有记录。查询如下所示

mysql> select *from selectDates;

以下是输出

+----+--------------+------------+
| 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)

以下是用于选择介于两个日期列之间的今天的日期的查询

select *from selectDates where StartingDate <='2019-01-10' AND EndingDate >='2019-01-10';

以下是输出

+----+--------------+------------+
| 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)

更新于: 2019-07-30

1K+ 次浏览

开启 职业生涯

获取认证,通过该课程

开始
广告
© . All rights reserved.