我正在尝试查询以获取去年的最后60天。
我有当前期间
DATE >= DATEADD(DAY, -60, current_timestamp) AND PEDDTEMIS < 'TODAY'
我想要得到的东西
DATE >= DATEADD(DAY, -60, DATEDIFF(YEAR,current_timestamp,-1) AND DATE < DATEDIFF(YEAR,'TODAY',-1)
我想要的日期:
当前:06/14/2019-04/15/2019 去年:06/14/2018-04/15/2018
感谢任何帮助
答案 0 :(得分:1)
我认为,您正在尝试获取“一年前的今天60天”(尽管您的问题的标题表明有所不同)。
一年前的今天应该是:DATEADD(-1 YEAR TO CURRENT_DATE)
之前六十天应为:DATEADD(-60 DAY TO DATEADD(-1 YEAR TO CURRENT_DATE))
因此,您正在寻找这两个日期值之间的记录。
答案 1 :(得分:0)
好吧,这是我想到的:
as Task
答案 2 :(得分:0)
您可以尝试
SELECT DATEADD(DAY,-60, DATEADD(DAY, -1, DATEADD(YEAR, DATEDIFF(YEAR, 0, GETDATE()), 0)))
答案 3 :(得分:0)
好像您在使用Oracle。 DATEDIFF返回两个日期之间的差,以YEARS / DAYS等表示。您需要的只是DATEADD,以减去一年并减去60天:
DATE >= DATEADD(DAY, -60, DATEADD(YEAR,current_timestamp,-1) AND DATE < DATEADD(YEAR,current_timestamp,-1)