2013-12-17 3 views
0

Учитывая текущую дату в моей системе как 2013-08-18 14:00:00.000. Мне нужно получить доступ к строке из базы данных, в которой есть дата завтра и день после завтрашней даты, то есть 2013-08-19 00:00:00.000 и 2013-08-20 00:00:00.000 Для настоящего экземпляра я попытался с этими строками запроса. Но он не работает.Выберите конкретную строку из БД, имеющую дату завтра и день за днем, дату с текущей даты

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

Это мои элементы базы данных

 PatientID    AppTime 
AT0820130007  2013-08-19 14:00:00.000       
AT0820130031  2013-08-22 17:00:00.000       

Любая помощь являются apprieciated

ответ

1

Если я вас правильно понял:

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

Приведение к типу Date данных удаляет временную часть.

(Но следует помнить, что не может использовать соответствующий индекс)

+0

Я думаю, что первый аргумент должен быть 1 НЕ -1, а второй должен быть 2 НЕ 1 – Jade

+0

Изменено: Извинения: Вы правильны. Я явно не умею читать! –

Смежные вопросы