没有在两个日期之间获得记录

时间:2012-03-10 20:49:09

标签: sql-server-2008

我想获得2个日期之间的行

以下是查询:

select 
    distinct Convert(varchar(09), [DateTime], 103)
from 
    StudentAttendance_FK 
where 
    LecturerID = 5033 and 
    CourseID = 1004 and 
    SubjectID = 120 and 
    [DateTime] Between '3/8/2012' and '3/11/2012'

格式(MM / DD / YYYY)

示例值

3/8/2012 11:40:46 PM
3/8/2012 11:40:46 PM
3/9/2012 11:57:55 AM
3/9/2012 10:48:02 PM
3/10/2012 11:57:20 PM

查询未在这两个日期之间返回任何行。此查询中有任何更改吗?

谢谢你

阿贾伊。

1 个答案:

答案 0 :(得分:4)

如果您使用的是103(d/m/y),那么为什么您的where子句使用m/d/y?您是否使用英国/加拿大地区设置?坚持使用标准的,明确的格式,例如yyyymmdd,您将获得更可预测的结果。

SELECT DISTINCT CONVERT(DATE, [DateTime]) 
FROM dbo.StudentAttendance_FK
WHERE LecturerID = 5033
AND CourseID = 1004
AND SubjectID = 120
AND [DateTime] >= '20120308' AND [DateTime] < '20120312';