如何在MySQL中有条件地选择日期(between/before/after)?
以下是语法:
select * from yourTableName
where
yourColumnName1 < yourValue1 AND
(yourColumnName2 > yourValue2 OR yourColumnName2 is null);
让我们创建一张表:
mysql> create table demo35
−> (
−> id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
−> joining_date date,
−> relieving_date date
−> );
Query OK, 0 rows affected (3.88 sec)
使用插入命令将一些记录插入到表中:
mysql> insert into demo35(joining_date,relieving_date) values('2020−01−10','2020−07−11');
Query OK, 1 row affected (0.15 sec)
mysql> insert into demo35(joining_date,relieving_date) values('2020−05−07','2020−12−08');
Query OK, 1 row affected (0.17 sec)
mysql> insert into demo35(joining_date,relieving_date) values('2020−04−11','2020−09−18');
Query OK, 1 row affected (0.14 sec)
mysql> insert into demo35(joining_date,relieving_date) values('2020−03−12','2020−10−01');
Query OK, 1 row affected (0.13 sec)
使用select语句从表中显示记录:
mysql> select *from demo35;
将输出以下内容:
+----+--------------+----------------+
| id | joining_date | relieving_date |
+----+--------------+----------------+
| 1 | 2020−01−10 | 2020−07−11 |
| 2 | 2020−05−07 | 2020−12−08 |
| 3 | 2020−04−11 | 2020−09−18 |
| 4 | 2020−03−12 | 2020−10−01 |
+----+--------------+----------------+
4 rows in set (0.00 sec)
以下是MySQL中有条件地选择日期的查询:
mysql> select * from demo35
−> where
−> joining_date < '2020−05−11' AND
−> (relieving_date > '2020−08−10' OR relieving_date is null);
将输出以下内容:
+----+--------------+----------------+
| id | joining_date | relieving_date |
+----+--------------+----------------+
| 2 | 2020−05−07 | 2020−12−08 |
| 3 | 2020−04−11 | 2020−09−18 |
| 4 | 2020−03−12 | 2020−10−01 |
+----+--------------+----------------+
3 rows in set (0.00 sec)
阅读更多:MySQL 教程
极客教程