首页 > 解决方案 > 日期固定以提取上个月和当前月份的数据

问题描述

我们的系统将数据提取到前一天,如果当前日期是第 1 天,如果当前日期在第 1 天之后,我正在尝试查看用于提取上个月数据的选项,那么在这种情况下,我需要查看从当前月份开始到月底的数据

每月一次,我不断更改“@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)

标签: sqlsql-server

解决方案


我想你想要这样的东西:

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

推荐阅读