如何使用日期函数从sql表中获取历史值?

xeufq47z  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(340)

我有一张图中的table。我需要获得历史日期的每个不同外键的分数,即从今天起的3、6、12和24个月前。
从下面的示例中,考虑到今天是2020-06-24,我需要获得日期:2020-02-29、2019-11-30、2019-05-31、2018-05-31的fk=1,2,…n的得分值。
我可能需要每两周运行一次此查询。我应该为ssms使用什么查询?

b91juud3

b91juud31#

一个选项使用 dateadd() 以及 emonth() :

select t.*
from mytable t
where 
    column2 = 1
    and date in (
        eomonth(dateadd(month,  -4, getdate())),
        eomonth(dateadd(month,  -7, getdate())),
        eomonth(dateadd(month, -13, getdate())),
        eomonth(dateadd(month, -25, getdate()))
    )

相关问题