我在通过提供和来日期检索记录时遇到问题。我想获取2010年2月8日的日期记录,我应该使用To和From日期字段。我试过了:
select * from dbo.BuzzMaster
where date >= '2/7/2010'
and date <= '2/8/2010'
输出:
Not able to retrieve records for date '2/8/2010'
我得到的日期'2/8/2010'的记录只有在我给出:
select * from dbo.BuzzMaster
where date >= '2/7/2010'
and date <= '2/9/2010'
(或)
select * from dbo.BuzzMaster
where date >= '2/8/2010'
and date <= '2/9/2010'
那么如何选择日期2/7/2010
和'2/8/2010'来做到这一点?
提前致谢。
纳温
答案 0 :(得分:4)
那些日期也有时间吗?如果有,你可以像这样获得2/8的记录:
WHERE Date >= '2/8/2010' AND Date < '2/9/2010'
这是因为'2/8/2010 12:34'&gt; '2010/2/8'。
(另一个原因是,我更喜欢在TSQL中以'yyyy-mm-dd'格式编写日期,这对文化不敏感。)
答案 1 :(得分:1)
使用此查询:
select * from dbo.BuzzMaster
where date between '2/7/2010' and '2/8/2010'
答案 2 :(得分:0)
如果日期包含时间段,那么您可以通过发出以下TSQL来获得所需的结果
select * from dbo.BuzzMaster
where DATEADD(dd, 0, DATEDIFF(dd, 0, date))>= '2/7/2010'
and DATEADD(dd, 0, DATEDIFF(dd, 0, date))<= '2/8/2010'
这将从您的日期中提取日期部分。