我们的系统将数据提取到前一天,如果当前日期为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)
答案 0 :(得分:0)
我认为您想要这样的东西:
where (day(getdate()) = 1 and datediff(month, datecol, getdate()) = 1) or
(day(getdate()) <> 1 and datediff(month, datecol, getdate()) = 0)