确定日期以提取上个月和当前月份的数据

时间:2019-04-23 16:23:06

标签: sql sql-server

我们的系统将数据提取到前一天,如果当前日期为1st,并且如果当前日期为1st之后,则我尝试查看用于提取上个月数据的选项,那么在这种情况下,我需要查看当月开始到结束的数据每月的

每个月我都会不断更改“ @previous_calendar_date”

declare @first_day_of_previous_calendar_date_month datetime     
set @first_day_of_previous_calendar_date_month = dateadd(dd,-datepart(dd,@previous_calendar_date)+1,@previous_calendar_date)

我不想在这里每月进行人工干预。

declare @previous_calendar_date datetime        
set @previous_calendar_date = '20190430'

declare @first_day_of_previous_calendar_date_month datetime     
set @first_day_of_previous_calendar_date_month = dateadd(dd,-datepart(dd,@previous_calendar_date)+1,@previous_calendar_date)

1 个答案:

答案 0 :(得分:0)

我认为您想要这样的东西:

where (day(getdate()) = 1 and datediff(month, datecol, getdate()) = 1) or
      (day(getdate()) <> 1 and datediff(month, datecol, getdate()) = 0)