MySQL 查询以在添加了间隔天数后获取大于当前日期的日期记录?


我们首先创建一个表 −

mysql> create table DemoTable
(
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   AddDay int,
   PostDate date
);
Query OK, 0 rows affected (2.73 sec)

使用 insert 命令在表中插入一些记录 −

mysql> insert into DemoTable(AddDay,PostDate) values(20,'2019-08-04');
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable(AddDay,PostDate) values(7,'2019-08-20');
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable(AddDay,PostDate) values(45,'2019-07-01');
Query OK, 1 row affected (0.19 sec)

使用 select 语句显示表中的所有记录 −

mysql> select *from DemoTable;

这将生成以下输出 −

+----+--------+------------+
| Id | AddDay | PostDate   |
+----+--------+------------+
|  1 |     20 | 2019-08-04 |
|  2 |      7 | 2019-08-20 |
|  3 |     45 | 2019-07-01 |
+----+--------+------------+
3 rows in set (0.00 sec)

以下是查询以在添加了 AddDay 列中的天数后获取大于当前日期的数据记录 −

mysql> select *from DemoTable where PostDate +interval AddDay day >=curdate();

这将生成以下输出 −

+----+--------+------------+
| Id | AddDay | PostDate   |
+----+--------+------------+
|  1 |     20 | 2019-08-04 |
|  2 |      7 | 2019-08-20 |
+----+--------+------------+
2 rows in set (0.00 sec)

更新于: 30-Sep-2019

563 浏览量

开启您的职业生涯

完成课程以获得认证

开始
广告