在参数中传递当前月份日期并获取上个月的数据

时间:2017-03-21 19:42:56

标签: sql sql-server tsql

我尝试了这个但在where子句

中没有想要的结果
Convert(varchar(7), dateadd(mm, -1, getdate()), 120)
=Convert(varchar(7), @Paramtername, 120)

1 个答案:

答案 0 :(得分:2)

在SQL Server中:

要获得上个月的开头,您可以使用

dateadd(month, datediff(month, 0, getdate() )-1, 0)

要获取参数前一个月的数据,您可以使用以下内容:

where mydate >= dateadd(month, datediff(month, 0, @date_parameter )-1, 0)
  and mydate <  dateadd(month, datediff(month, 0, @date_parameter )  , 0)