去年在MS SQL中进行MTD和YTD查询

时间:2016-07-13 13:32:35

标签: sql-server

我正在使用MS SQL 2014。

我有一种情况需要以MTD,YTD,上一年的MTD和之前的YTD显示数据。

我已经为当年创建了MTD和YTD查询(根据日期输入)

例如: 1)MTD(当年):

DBP.Date BETWEEN DATEADD(月,DATEDIFF(月,0,@ RefDate),0)和@RefDate

2)年初至今(当年):

DBP.Date BETWEEN DATEADD(年份,DATEDIFF(年份,0,@ RefDate),0)和@RefDate

我在去年MTD和YTD的论坛上搜索过但无法找到。

如果有人可以帮助写上一年的MTD和YTD,那将是非常有帮助的。

感谢。

1 个答案:

答案 0 :(得分:0)

我已经设法为去年的MTD和YTD写下了自己。

LastYear MTD:

DAY(DBP1.Date) <= DAY(@RefDate)
AND
MONTH(DBP1.Date) = MONTH(@RefDate)
AND
YEAR(DBP1.Date) = YEAR(@RefDate)-1

LastYear YTD:

YEAR(DBP1.Date) = YEAR(@RefDate)-1
AND
((MONTH(DBP1.Date) < MONTH(@RefDate))
OR ((MONTH(DBP1.Date) = MONTH(@RefDate)) AND (DAY(DBP1.Date) <=        DAY(@RefDate))))

由于