在 MySQL where 子句中检查到期日和当前日期记录的条件

mysqlmysqli database更新于 2024/4/1 7:28:00

要检查此类条件,请在 MySQL 中使用 IF()。

让我们创建一个表 −

示例

mysql> create table demo89
   -> (
   -> duedate date
   -> );
Query OK, 0 rows affected (0.78

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

示例

mysql> insert into demo89 values('2020-01-10');
Query OK, 1 row affected (0.55

mysql> insert into demo89 values(null);
Query OK, 1 row affected (0.13

mysql> insert into demo89 values('2020-11-29');
Query OK, 1 row affected (0.15

mysql> insert into demo89 values('2019-11-29');
Query OK, 1 row affected (0.09

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

示例

mysql> select *from demo89;

这将产生以下输出 −

输出

+------------+

| duedate    |

+------------+

| 2020-01-10 |

| NULL       |

| 2020-11-29 |

| 2019-11-29 |

+------------+

4 rows in set (0.00 sec)

以下是检查到期日和当前日期记录的查询 −

示例

mysql> select if (duedate is null
   -> or duedate < curdate(),'Wrong Date',duedate) as Result
   -> from demo89;

这将产生以下输出 −

输出

+------------+

| Result     |

+------------+

| Wrong Date |

| Wrong Date |

| 2020-11-29 |

| Wrong Date |

+------------+

4 rows in set (0.00 sec)


相关文章