2017-02-24 25 views
-2

我有一個名爲FileName的列,我希望使用SSIS中的派生列從列中提取日期作爲日期列。文件名數據類型數據類型爲nvarchar(260)使用派生列在SSIS中從字符串中提取日期

的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

堆棧溢出不是一個代碼寫入服務,預計你會嘗試自己編寫代碼。我建議你對你的問題做一些研究(也許試試頁面頂部的搜索框),並嘗試自己編寫一些代碼。如果/當您遇到任何與您的代碼有關的問題時,請再次提問並解釋您所嘗試的內容,以及爲什麼它不適合您。請參閱如何尋求幫助來提出一個很好的問題。 – bc004346

+0

您可以輕鬆地在SSIS中構建轉換 - 使用「表達式」字段 – bc004346

回答

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