SQL 时间戳区间问题
问题举例
如果Table表中有数据
name | time |
---|---|
张三 | 2022-01-01 00:00:00 |
李四 | 2022-01-01 08:00:00 |
select * from Table where time between '2022-01-01' and '2022-01-01';
// or
select * from Table where time >= '2022-01-01' and time <= '2022-01-01';
查询出来的数据会是:
张三 2022-01-01 00:00:00
不会有李四数据的原因是,如果时间信息中不添加时分秒的信息,则默认的查询范围是从当天的 00:00:00 到 当天的 00:00:00。
解决办法
可以通过添加时分秒信息进行查询,如
select * from Table where time between '2022-01-01 00:00:00' and '2022-01-01 23:59:59';
// or
select * from Table where time >= '2022-01-01 00:00:00' and time <= '2022-01-01 23:59:59';