如何将datetime列拆分为日期和时间,并在MySQL中分别进行比较?

让我们首先创建一个表-

create table DemoTable805(LoginDate datetime);

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

insert into DemoTable805 values('2019-01-31 12:45:20');
insert into DemoTable805 values('2017-11-01 10:20:30');
insert into DemoTable805 values('2016-03-12 04:10:00');
insert into DemoTable805 values('2018-12-24 05:01:00');

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

select *from DemoTable805;

这将产生以下输出-

+---------------------+
| LoginDate           |
+---------------------+
| 2019-01-31 12:45:20 |
| 2017-11-01 10:20:30 |
| 2016-03-12 04:10:00 |
| 2018-12-24 05:01:00 |
+---------------------+
4 rows in set (0.00 sec)

这是将DateTime列拆分为日期和时间并单独比较的查询-

select cast(LoginDate AS date),cast(LoginDate AS Time) from DemoTable805;

这将产生以下输出-

+-------------------------+-------------------------+
| cast(LoginDate AS date) | cast(LoginDate AS Time) |
+-------------------------+-------------------------+
| 2019-01-31              | 12:45:20                |
| 2017-11-01              | 10:20:30                |
| 2016-03-12              | 04:10:00                |
| 2018-12-24              | 05:01:00                |
+-------------------------+-------------------------+
4 rows in set (0.03 sec)