Как отфильтровать определенную запись c на сервере SQL в диапазоне дат, не удаляя другие записи? - PullRequest
2 голосов
/ 28 апреля 2020

Я использую SSMS 2017.

Ниже приведена исходная таблица,

Source Table

из приведенной выше таблицы, которую я хочу отфильтровать только записи «i»

Records that needs to be removed

, в которых разница дат составляет> = 6 месяцев, при выполнении следующего условия (date2 <= dateadd (MONTH, + 6, date1 - datepart (MONTH, date1) -1)), и результат должен быть следующим, </p>

Result table

любая помощь от любого будет с благодарностью.

1 Ответ

1 голос
/ 28 апреля 2020

Это то, что вы хотите?

select t.*
from t
where name <> 'i' or
      date2 <= dateadd(month, +6, date1 - datepart(month, date1) -1))

Я не совсем уверен, что ваше состояние должно делать, но это то, что в вашем вопросе.

Основано на Лог c в тексте:

select t.*
from t
where name <> 'i' or
      date2 <= dateadd(month, +6, date1)
...