我想限制报告从日期 A 到日期 B 返回记录。这就是我一直在做的事情:
declare @startDate varchar(20)
declare @endDate varchar(20)
set @startDate = '01/01/2008'
set @endDate = '04/01/2008'
-- test what are the start and end dates
select min(date),max(date) from view_Inspections
where date between @startDate and @endDate
... 我被告知从 1 月 1 日上午 12 点到 3 月 31 日晚上 11:59 之间返回的记录(当没有指示时间时,午夜是默认值)。但我注意到一个差异,即如果记录的时间为 00:00:00,它将成为该集合的一部分。
是否有更准确的方法来执行此操作,以便准确返回我想要的日期范围?*
我尝试使用时间:
declare @startDate varchar(20)
declare @endDate varchar(20)
set @startDate = '01/01/2008 00:00:00'
set @endDate = '04/01/2008 11:59:59'
-- test what are the start and end dates
select min(date),max(date) from view_Inspections
where date between @startDate and @endDate
...但我注意到一些奇怪的事情:SQL Server 将把百分之一秒提高一半。因此,如果我使用晚于 11:59:29 的任何时间,我就会得到 4 月 1 日的记录(哈哈!愚人节的记录!grr)。这是为什么?
- (我确信有。我是新手。感谢您的帮助!)