IDT - 如何从当前月份获取上个月(12 月)

IDT - How to get previous month (December) from current Month

这就是我目前所拥有的。 我正在尝试使用始终显示上个完整月份的过滤器。 以下查询适用于除一月以外的所有月份。

DateDim_End_Date.YEAR=year(getDate())
and DateDim_End_Date.MONTHNUMBER = month(getDate())-1

我正在尝试

CASE WHEN (DateDim_End_Date.MONTHNUMBER = month(getDate())) = 1 THEN 
(DateDim_End_Date.YEAR=year(getDate())-1
and DateDim_End_Date.MONTHNUMBER = month(getDate())-1)
WHEN DateDim_End_Date.MONTHNUMBER = month(getDate())) != 1 THEN 
(DateDim_End_Date.YEAR=year(getDate())
and DateDim_End_Date.MONTHNUMBER = month(getDate())-1)
END

不一定要用CASE语句来解决这个问题,这只是我最初的方法 提前致谢。

您可以这样做:

DateDim_End_Date.YEAR=year(getDate())
and DateDim_End_Date.MONTHNUMBER = month(DATEADD(MONTH, -1, getDate()))

这将解决 1 月的问题,因为您现在首先要从日期中减去一个月,然后才能确定新的月份。

虽然将日期存储在单个 date/datetime 列中要容易得多。