如何在 MySQL 中将 DateTime 列与仅日期而非时间进行比较?
mysqlmysqli database
要将 DateTime 列与仅日期进行比较,您需要使用 Date() 方法。以下是语法。下面,您需要在 'yourDateValue' 中输入日期:
select *from yourTableName where Date(yourColumnName)='yourDateValue';
首先我们创建一个表:
mysql> create table DemoTable ( ArrivalTime datetime ); Query OK, 0 rows affected (0.74 sec)
下面是使用 insert 命令在表中插入一些记录的查询:
mysql> insert into DemoTable values('2019-01-31 02:34:56'); Query OK, 1 row affected (0.20 sec) mysql> insert into DemoTable values('2019-04-09 18:20:58'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('2019-05-11 19:45:23'); Query OK, 1 row affected (0.13 sec) mysql> insert into DemoTable values('2019-02-03 21:10:02'); Query OK, 1 row affected (0.16 sec)
以下是使用 select 命令显示表中记录的查询:
mysql> select *from DemoTable;
这将产生以下带有日期和时间记录的输出:
+---------------------+ | ArrivalTime | +---------------------+ | 2019-01-31 02:34:56 | | 2019-04-09 18:20:58 | 2019-05-11 19:45:23 | | 2019-02-03 21:10:02 | +---------------------+ 4 rows in set (0.00 sec)
以下查询仅比较日期而不比较时间。这里,我们比较日期:
mysql> select *from DemoTable where Date(ArrivalTime)='2019-04-09';
这将产生以下输出:
+---------------------+ | ArrivalTime | +---------------------+ | 2019-04-09 18:20:58 | +---------------------+ 1 row in set (0.00 sec)