SSIS 查找和反向功能

SSIS Find & Reverse Function

我正在尝试使用 ssis 从以下文件名中获取日期 expression.i 从变量中获取此文件名

我已经尝试使用 findstring 和 reverse 函数,但它仍然抛出无法解析。

有什么建议请

变量

@[User::CurrentFile] : Z:\RETAIL DATA\HN_NLG\Supplier_report_by_Brand_Trend Micro_WC_20170327.xlsx

需要获取20170327并转换为2017-03-27

提前致谢

尝试类似下面的方法,可能在 exec sql 任务或脚本中并将其分配给变量以供进一步使用。

 select Cast(CONVERT(date,
  Reverse(Substring(Reverse('Z:\RETAIL DATA\HN_NLG\Supplier_report_by_Brand_Trend Micro_WC_20170327.xlsx'),
 CHARINDEX('.',Reverse('Z:\RETAIL DATA\HN_NLG\Supplier_report_by_Brand_Trend Micro_WC_20170327.xlsx'),1)+1,
8))) as varchar(10))

你可以使用LEFTRIGHTSUBSTRING来实现这个,使用下面的表达式来得到预期的输出:

SUBSTRING(LEFT(right(@[User::CurrentFile],13),8),1,4) + "-" + SUBSTRING(LEFT(right(@[User::CurrentFile],13),8),5,2) + "-" + SUBSTRING(LEFT(right(@[User::CurrentFile],13),8),7,2)

如果@[User::CurrentFile] = 'Z:\RETAIL DATA\HN_NLG\Supplier_report_by_Brand_Trend Micro_WC_20170327.xlsx'你会得到2017-03-27