Как использовать функцию datepart в сочетании с функцией count? - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь вернуть все результаты, где месяц от одной даты ровно через 1 месяц после другой. Вот так:

╔═════════════════════════════════════════╗
║ Column A date:          Column B date:  ║
╠═════════════════════════════════════════╣
║ 11/20/2019               12/1/2019      ║
║ 8/5/2019                 9/1/2019       ║
╚═════════════════════════════════════════╝

Я понимаю, как использовать функцию datepart, но как я могу использовать ее в сочетании с чем-то, чтобы проверить, если это через 1 месяц? Буду ли я использовать функцию подсчета?

это то, что у меня есть:

and datepart("m", oe.text_13_eff_date) 

1 Ответ

1 голос
/ 24 февраля 2020

Если вы просто ищете разницу в месяцах, т.е. февраль - январь = 1, тогда вы можете использовать

and    DATEPART(m,firstdate)-DATEPART(m,seconddate) = 1

на самом деле @ Eri c Комментарий Брандта - гораздо лучший ответ

DATEDIFF(MONTH, firstdate, seconddate) = 1

Если вы хотите истинный месяц, т.е. 24 февраля - 24 января = 1, то, как @Tomalak сказал, это будет больше похоже на

 and   dateadd(m,1,seconddate) = firstdate
...