在SSIS表达式中查找前一周的第一天和最后一天

时间:2019-07-17 11:45:41

标签: sql sql-server ssis etl ssis-2012

我已经在SQL中签入并获得了上周的第一天和最后一天的值,但是我想要SSIS表达式。

我尝试使用SQL脚本

SELECT CAST(DATEADD(wk,DATEDIFF(wk,7,GETDATE()),0) AS DATE) --First day of previous week
SELECT CAST(DATEADD(wk,DATEDIFF(wk,7,GETDATE()),6) AS DATE) --Last day of previous week

2 个答案:

答案 0 :(得分:0)

我相信SSIS使用与SSRS相同的表达方式。

上周的第一天为:

=DateAdd("d",-DatePart(DateInterval.WeekDay,dateadd("d",-7,Today),0,0)+1,dateadd("d",-7,Today))

上周的最后一天是:

=dateadd("d", 6, DateAdd("d",-DatePart(DateInterval.WeekDay,dateadd("d",-7,Today),0,0)+1,dateadd("d",-7,Today)))

以上内容基于周日开始和周六结束的一周。

答案 1 :(得分:0)

在派生列中使用以下表达式:

上周的第一天

DATEADD("wk",DATEDIFF("wk",7,GETDATE()),0)

上周的最后一天

DATEADD("wk",DATEDIFF("wk",7,GETDATE()),6)

参考