WHERE(DATEDIFF(MONTH, datecreated, GETDATE()) = +1)
这应该做什么?
这在上一个日历月中获得了所有内容。请注意,这是特别是上一个日历月,无论当前日期如何。
为什么这样?datediff()
在两个日期/时间值之间计算边界的数量。在这种情况下,边界是一个月的开始/结束。因此,如果今天是2017-05-05,那么2017 - 04年的任何东西都有一个边界。三月份什么都没有,五月什么都没有。请注意,这在5月1日与5月31日一样真实。
尽管这很方便,但我认为代码至少应该发表评论,因为这对休闲读者来说可能并不明显。