SQL根据日期条件使用between查询数据集应注意事项

案例

数据集如下:表名(tb_Employee)

Id Name DateTime
10000001 张三 2020-07-01 07:01:00
10000002 李四 2020-07-01 12:01:00
10000003 王五 2020-07-01 23:01:00

以上数据集的日期字段数据类型是datetime,保存格式为yyyy-MM-dd HH:mm:ss

查询语句如下

SELECT * FROM tb_Employee WHERE DateTime BETWEEN ‘2020-07-01’ AND ‘2020-07-01’

当前查询语句是想查询日期为2020-07-01的数据,但是最终结果是空的,查询不到数据
SQL根据日期条件使用between查询数据集应注意事项

原因

短日期类型,默认Time的时分秒为00:00:00,所以当使用 BETWEEN作为限制条件查询时,就相当于BETWEEN ‘2020-07-01 00:00:00’ AND ‘2020-07-01 00:00:00’ 因此最终查询不出任何数据

解决方案

1.给查询语句补全时分秒

SELECT * FROM tb_Employee WHERE DateTime BETWEEN ‘2020-07-01 00:00:00’ AND ‘2020-07-01 23:59:59’

以此便可查询出想要的结果
SQL根据日期条件使用between查询数据集应注意事项