Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql IDT-如何从当前月份获取上个月(12月)_Sql_Date_Case_Getdate - Fatal编程技术网

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

Sql IDT-如何从当前月份获取上个月(12月),sql,date,case,getdate,Sql,Date,Case,Getdate,这就是我目前所拥有的。 我试图有过滤器,将始终显示最后一个完整的月。 以下查询适用于除1月份以外的所有月份 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=

这就是我目前所拥有的。 我试图有过滤器,将始终显示最后一个完整的月。 以下查询适用于除1月份以外的所有月份

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
解决这个问题不需要案例陈述,这只是我最初的方法
提前感谢。

您可以执行以下操作:

DateDim_End_Date.YEAR=year(getDate())
and DateDim_End_Date.MONTHNUMBER = month(DATEADD(MONTH, -1, getDate()))
这将解决一月的问题,因为你现在首先从一个日期中减去一个月,然后再确定新的月份是什么


不过,在单个日期/日期时间列中存储日期要容易得多。

谢谢您的反馈,我一定会记住这一点!