如何将datepart函数与count函数结合使用?

时间:2020-02-24 17:22:54

标签: sql-server tsql ssms

我试图返回所有结果,其中从一个日期开始的一个月正好是另一个日期之后的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 个答案:

答案 0 :(得分:1)

如果您只是在寻找月份之间的差异,即2月-1月= 1,则可以使用

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

实际上@ Eric Brandt评论是一个更好的答案

DATEDIFF(MONTH, firstdate, seconddate) = 1

如果您想要一个真实的月份,即2月24日-1月24日= 1,则就像@Tomalak所说的那样。

 and   dateadd(m,1,seconddate) = firstdate