将 DATE 字符串与 MySQL DATETIME 字段中的字符串进行比较?

mysqlmysqli database

您可以借助 MySQL 中的 DATE() 函数将 DATE 字符串与 DATETIME 字段中的字符串进行比较。语法如下 −

select *from yourTableName where DATE(yourColumnName) = ’anyDateString’;

为了理解上述语法,让我们创建一个表并在表中设置一些日期时间值。创建表的查询 −

mysql> create table DateTimeDemo
   −> (
   −> ArrivalTime datetime
   −> );
Query OK, 0 rows affected (0.61 sec)

让我们借助 insert 命令在表中插入一些记录。以下是插入记录的查询 −

mysql> insert into DateTimeDemo values(now());
Query OK, 1 row affected (0.11 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval 2 year));
Query OK, 1 row affected (0.47 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval 1 year));
Query OK, 1 row affected (0.19 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval 4 year));
Query OK, 1 row affected (0.13 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval -2 year));
Query OK, 1 row affected (0.17 sec)

mysql> insert into DateTimeDemo values(date_add(now(),interval -1 year));
Query OK, 1 row affected (0.17 sec)

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

mysql> select *from DateTimeDemo;

以下是输出 −

+---------------------+
| ArrivalTime         |
+---------------------+
| 2018-12-06 10:12:45 |
| 2020-12-06 10:13:10 |
| 2019-12-06 10:13:21 |
| 2022-12-06 10:13:27 |
| 2016-12-06 10:13:42 |
| 2017-12-06 10:13:50 |
+---------------------+
6 rows in set (0.00 sec)

现在实现我们上面讨论的用于比较字符串和日期时间字段的语法。查询如下 −

mysql> select *from DateTimeDemo where date(ArrivalTime) = '2022-12-06';

以下是输出 −

+---------------------+
| ArrivalTime         |
+---------------------+
| 2022-12-06 10:13:27 |
+---------------------+
1 row in set (0.14 sec)

相关文章