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

时间:2017-02-24 17:44:28

标签: sql-server ssis ssis-2012

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

FileName

  

M:\映射\ 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)

1 个答案:

答案 0 :(得分:0)

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

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

在此MSDN article

中详细了解Derived Column Transformation

<强>测试

我在以下路径M:\Mapping\Workforce_Planning\ABC\ABClrmp.full.2016-01-07.csv上测试了此表达式,并提供了以下结果2016-01-07