我试图从MS SQL Server中具有日期时间字段的链接表运行查询。我正在尝试运行一个简单的查询来搜索特定日期的记录(#03/24/2018#
),但由于datetime字段也有时间,除非我使用BETWEEN指定时间范围,否则我没有得到任何记录( Between #03/24/2018 00:00:00 AM# And #03/24/2018 11:59:59 PM#
)。
原始查询不返回所需的输出:
SELECT *
WHERE MyDateTimeField) = #3/24/2018#;
询问
SELECT *
WHERE MyDateTimeField) Between #3/24/2018 00:00:00 AM# And #3/24/2018 23:59:59#);
有没有一个解决方法,因为没有时间使用BETWEEN运算符?
为了避免时间分量,检查MyDateTimeField
equal /大于搜索日和小于第二天:
SELECT *
FROM MyTable
WHERE
MyDateTimeField >= #3/24/2018#
AND
MyDateTimeField < DateAdd("d",1,#3/24/2018#);
与转换MyDateTimeField
to日期相反,这不会阻止索引使用和handleNull
Values onMyDateTimeField
。