我想要一个 SSIS 表达式,它会给我上周的星期日日期。
相应的 sql server 查询如下所示:
选择转换(日期,DATEADD(周,DATEDIFF(周,6,转换(日期,@report_dt)),-1))
我想在 SSIS 表达式中得到相同的结果。
谢谢
我想要一个 SSIS 表达式,它会给我上周的星期日日期。
相应的 sql server 查询如下所示:
选择转换(日期,DATEADD(周,DATEDIFF(周,6,转换(日期,@report_dt)),-1))
我想在 SSIS 表达式中得到相同的结果。
谢谢
这将使用变量为您提供上周的星期日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
只返回日期。
假设您的日期保存在一个名为 的变量中report_dt
,这对我有用:
(DT_DATE)LEFT((DT_WSTR, 30)DATEADD("Day", -1 * (DATEPART("Weekday", @[User::report_dt]) + 7), @[User::report_dt]), 10)
但是不确定这是否是区域安全的 - 但它在英国有效。