使用 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
我有一个名为 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