我在 SQL Server 2005 中对 StartDate 和 EndDate 字段使用 varchar 数据类型。示例查询如下所示:
*我遵循 dd/MM/yyyy 日期格式。
select * from dbo.SubDetails
where
((
DATEADD(DAY,DATEDIFF(DAY, 0, convert(datetime,StartDate,105)), 0) <=
DATEADD(DAY,DATEDIFF(DAY, 0, convert(datetime,'16/11/2012',105)), 0)
)
AND
(
DATEADD(DAY, DATEDIFF(DAY, 0, convert(datetime,EndDate,105)), 0) >=
DATEADD(DAY, DATEDIFF(DAY, 0, convert(datetime,'11/9/2012',105)), 0)
))
这个查询给了我所有的记录,不管日期范围之间的记录。任何帮助,将不胜感激。谢谢