MySQL 选择 * 并查找有当前日期的记录


对于当前日期,使用 CURDATE()。再使用 STR_TO_DATE() 格式化日期,并使用以下语法与当前日期进行比较 -

语法

select *from yourTableName where str_to_date(yourColumnName,'yourFormatSpecifier')=curdate();

假设当前日期是 27/10/2019。

让我们先创建一个表 -

mysql> create table DemoTable
   -> (
   -> JoiningDate varchar(40)
   -> );
Query OK, 0 rows affected (0.79 sec)

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

mysql> insert into DemoTable values('27/10/2017');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('27/10/2018');
Query OK, 1 row affected (0.78 sec)
mysql> insert into DemoTable values('27/10/2019');
Query OK, 1 row affected (0.14 sec)
mysql> insert into DemoTable values('27/10/2020');
Query OK, 1 row affected (0.11 sec)

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

mysql> select *from DemoTable;

这将产生以下输出 -

+-------------+
| JoiningDate |
+-------------+
| 27/10/2017  |
| 27/10/2018  |
| 27/10/2019  |
| 27/10/2020  |
+-------------+
4 rows in set (0.00 sec)

以下是用来比较并查找有当前日期的记录的查询 -

mysql> select *from DemoTable where str_to_date(JoiningDate,'%d/%m/%Y')=curdate();

这将产生以下输出 -

+-------------+
| JoiningDate |
+-------------+
| 27/10/2019  |
+-------------+
1 row in set (0.00 sec)

更新于: 2019 年 12 月 13 日

2K+ 浏览

开启您的 职业

完成课程即可获得认证

开始学习
广告