自新年以来,我们的脚本遇到了这个问题。
我们有几个脚本可以回顾当前UTC日期的1个月。 从新年开始,这些脚本返回零结果,因为我认为,Sql不会将第12个月视为从第1个月起减1。
有没有办法强制sql将年份视为旋转数据而不是增量线?
**修改
抱歉,我忘了添加例子。所以,一行读取
Select .... Where ...
And month (timevalue) = month (getutcdate ()) -1
尽管在1月份之前正常工作,但结果为零。
我暂时将其更改为= 12,这会返回正确的数据。
**编辑2
是的,感谢链接和示例代码。到目前为止工作完美。我想我们当前的设置并没有像我假设的那样使用白天,而是将月值用作int?
答案 0 :(得分:1)
检查下面,我希望它会有所帮助:
SELECT MONTH(DATEADD(MONTH, -1, GETUTCDATE())) AS PreviousMonth
返回:
PreviousMonth
12
所以你的查询应该是:
Select .... Where ... And month (timevalue) = MONTH(DATEADD(MONTH, -1, GETUTCDATE()))