将 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)