案例
数据集如下:表名(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的数据,但是最终结果是空的,查询不到数据

原因
短日期类型,默认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中查询具体日期数据时遇到的问题,尤其是当日期字段包含时分秒时,如何正确设置查询范围以获取完整一天的数据记录。通过案例分析,提供了具体的解决方案,并对比了错误与正确查询语句的效果。

被折叠的 条评论
为什么被折叠?



