从新年开始我们就在剧本里看到了这个问题。
我们有几个脚本,回顾一个月后,从目前的世界协调委员会的日期。自新年以来,这些脚本返回零结果,因为我猜想,Sql并不认为12个月从第一个月开始是负1。
是否有一种方法可以强制sql将年份看作是旋转数据,而不是增量行?
**编辑
抱歉,我忘了增加例子了。
所以,有一行读着
Select .... Where ... And month (timevalue) = month (getutcdate ()) -1
这给出了零的结果,尽管工作正常,直到一月份。
我暂时将它改为= 12,这确实返回了正确的数据。
**编辑2
是的,谢谢你的链接和示例代码。到目前为止效果很好。我想,在我们当前的设置中,它不是像我想象的那样使用白天,而是使用月份值作为int?
发布于 2017-01-03 15:10:37
请看下面,希望能帮上忙:
SELECT MONTH(DATEADD(MONTH, -1, GETUTCDATE())) AS PreviousMonth返回:
PreviousMonth
12
因此,您的查询应该是:
Select .... Where ... And month (timevalue) = MONTH(DATEADD(MONTH, -1, GETUTCDATE()))https://stackoverflow.com/questions/41444414
复制相似问题