从具有明天日期和后天日期的数据库中选择特定行,从当前日期开始

时间:2013-12-17 06:44:45

标签: sql sql-server-2008

将我系统中的当前日期视为2013-08-18 14:00:00.000。我必须访问数据库中的行,该行具有明天和后天的日期,即2013-08-19 00:00:00.000和{{1} }   对于目前的实例,我尝试过这些查询行。但它不起作用。

2013-08-20 00:00:00.000

这是我的数据库元素

SELECT DISTINCT [patientid], 
                apttime 
FROM   [patient_appointment_detail] 
WHERE  ( apttime > Getdate() + 1 ) 
        OR ( [apttime] > Getdate() + 2 ) 

任何帮助都是适用的

1 个答案:

答案 0 :(得分:1)

如果我理解正确的话:

...
WHERE
   cast(AptTime as date) 
   BETWEEN dateadd(day, 1, cast(getdate() as date)) 
       AND dateadd(day, 2, cast(getdate() as date))

转换为数据类型Date会删除时间部分。

(但请注意,可能不会使用适当的索引)