使用 SSIS 中的派生列从字符串中提取日期

Extract Date from a string using Derived Column in SSIS

我有一个名为 FileName 的列,我想使用 SSIS 中的派生列从列中提取日期作为日期列。文件名数据类型为 nvarchar(260)

文件名

M:\Mapping\Workforce_Planning\ABC\ABClrmp.full.2016-01-07.csv

想要的结果

2016-01-07

我一直在使用 SQL 任务,但我更喜欢使用派生列。

Update [dbo].[GET]
SET [Date] = CONVERT(date, REPLACE(SUBSTRING([FileName], LEN([FileName])-CHARINDEX('\',REVERSE([FileName]),0)+2, LEN([FileName])-(LEN([FileName])- CHARINDEX('\',REVERSE([FileName]),0))),'.csv',''), 121)

只需使用以下表达式添加派生列

LEFT(RIGHT([Filename],14),10)

在此 MSDN article

中阅读有关 Derived Column Transformation 的更多信息

测试

我在以下路径 M:\Mapping\Workforce_Planning\ABC\ABClrmp.full.2016-01-07.csv 上测试了这个表达式,它给出了以下结果 2016-01-07