有人可以解释这个SQL代码吗?
答
这是获取在上个日历月的一切。请注意,无论当前日期如何,这都是特定于上一个日历月。
为什么会出现这种情况? datediff()
计算两个日期/时间值之间的边界的数量。在这种情况下,边界是一个月的开始/结束。所以,如果今天是2017-05-05,那么2017-04年的任何事物都有一个单一的边界。三月没有任何事情,五月没有任何事情。请注意,5月1日至5月31日的情况也是如此。
尽管这很方便,但我认为代码至少应该有一条评论,因为对于一个偶然的读者来说,这可能并不明显。
+0
非常感谢。 –
如果在几个月中的过期差异= 1 –
+1解析为1,所以它表示WHERE(表达式)= 1.展开式:where(datecreated month - current month)= 1,则为true,否则为false。 – flaZer
这个表达式不是可玩的。它不能在'datecreated'上使用索引查找。 –