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 列中要容易得多。
这就是我目前所拥有的。 我正在尝试使用始终显示上个完整月份的过滤器。 以下查询适用于除一月以外的所有月份。
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 列中要容易得多。