как исключить данные по дате фильтрации - PullRequest
0 голосов
/ 04 июня 2018

Мне нужно реализовать следующую логику

Исключить пациентов, у которых дата пациента указана или за 1 день до даты события:

select patient,[patient date], [event date] 
from stu_tbl 
where [patient date] <> DATEADD(d, - 1, [event date]) and 
      [patient date] <> [event date];

дата пациента будет кратной

будет ли работать вышеуказанное условие?

Ответы [ 5 ]

0 голосов
/ 04 июня 2018

Существует вероятность того, что ваши даты имеют компонент времени.Если так:

select patient, [patient date], [event date] 
from stu_tbl 
where [patient date] <  dateadd(day, -1, cast([event date] as date)) or 
      [patient date] >= dateadd(day, 1, cast([event date] as date));
0 голосов
/ 04 июня 2018

Попробуйте это

select patient,[patient date], [event date] 
from stu_tbl 
where DateDiff(Day, [patient date], [event date]) < 0
0 голосов
/ 04 июня 2018

для добавления даты нескольких пациентов, вы можете использовать оператор IN, где условие.вроде как

select patient,[patient date], [event date] 
from stu_tbl 
where [patient date] NOT IN (patient date1, patient date2)
0 голосов
/ 04 июня 2018

попробуйте это:

    select patient,
       [patient date],
       [event date]
       from stu_tbl
       where [patient date] NOT IN (DATEADD(d, - 1, [event date]), [event date])
0 голосов
/ 04 июня 2018

Звучит так, как ты хочешь

select patient,
           [patient date],
           [event date]
           from stu_tbl
           where [patient date] >= DATEADD(d, - 1, [event date])
                      and [patient date] < cast([event date] AS date);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...