1

我想要一个 SSIS 表达式,它会给我上周的星期日日期。

相应的 sql server 查询如下所示:

选择转换(日期,DATEADD(周,DATEDIFF(周,6,转换(日期,@report_dt)),-1))

我想在 SSIS 表达式中得到相同的结果。

谢谢

4

2 回答 2

0

这将使用变量为您提供上周的星期日report_dt

(DT_DBDATE)DATEPART("dw",@[User::report_dt]) == (DT_DBDATE)1 ? @[User::report_dt] : DATEADD("day",-(DATEPART("dw",@[User::report_dt]) - 1),@[User::report_dt])

它被铸造成DT_DBTIME只返回日期。

于 2015-10-30T18:46:36.757 回答
0

假设您的日期保存在一个名为 的变量中report_dt,这对我有用:

(DT_DATE)LEFT((DT_WSTR, 30)DATEADD("Day", -1 * (DATEPART("Weekday", @[User::report_dt]) + 7), @[User::report_dt]), 10)

但是不确定这是否是区域安全的 - 但它在英国有效。

于 2015-10-29T22:35:26.247 回答