一个日期比另一个日期早 30 天,用 MySQL 查询删除该日期?
以下是语法 −
delete from yourTableName where yourColumnName < (yourAnotherDateValue - INTERVAL 30 DAY);
首先,让我们创建一个表 −
mysql> create table DemoTable ( DueDate date ); Query OK, 0 rows affected (0.68 sec)
使用 insert 命令在表中插入一些记录 −
mysql> insert into DemoTable values('2019-08-25'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable values('2019-07-01'); Query OK, 1 row affected (0.16 sec) mysql> insert into DemoTable values('2019-06-20'); Query OK, 1 row affected (0.10 sec) mysql> insert into DemoTable values('2019-09-02'); Query OK, 1 row affected (0.14 sec)
使用 select 语句显示表中的所有记录 −
mysql> select *from DemoTable;
这将产生以下输出 −
+------------+ | DueDate | +------------+ | 2019-08-25 | | 2019-07-01 | | 2019-06-20 | | 2019-09-02 | +------------+ 4 rows in set (0.00 sec)
以下查询用于删除比另一个日期早 30 天的日期 −
mysql> delete from DemoTable where DueDate < ('2019-08-31' - INTERVAL 30 DAY); Query OK, 2 rows affected (0.22 sec)
让我们再次检查表记录 −
mysql> select *from DemoTable;
这将产生以下输出 −
+------------+ | DueDate | +------------+ | 2019-08-25 | | 2019-09-02 | +------------+ 2 rows in set (0.00 sec)
广告