在sql中选择动态日期范围

比斯瓦

我有一个查询,它根据他们的活动日期带来数据。查询如下:

where al.ACTIVITY_DATE between '2017-01-01 00:00:00.000' and '2018-12-01 00:00:00.000'

它选择所有属于此数据范围的活动。

现在是 2019 年,我需要将日期范围更改为2019-12-01 00:00:00:.000.

我不想做的是每年手动更改该报告。是否可以选择过去 2 年的数据以及今年到 2019 年 12 月 31 日的数据?

拉曼

只需这样做:

WHERE al.ACTIVITY_DATE BETWEEN DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))
                           AND DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, -1)

这将使其成为过去两年的动态。

这是上一年的开始

DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))

这是今年年底。

DATEADD(yy, DATEDIFF(yy, 0, GETDATE()) + 1, -1)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章