2016-06-14 68 views
0

我不能到下面的SQL轉換成相應的SSIS表達 並把它轉換成日期格式等效SSIS表達

SUBSTRING(A.FILENAME,13,2)+'-'+SUBSTRING(A.FILENAME,15,2)+'-'+SUBSTRING(A.FILENAME,17,4) 

這是最好的我能得到

DT_DATE(SUBSTRING(@[User::V_LoadFileName],13,2)+'-'+SUBSTRING(@[User::V_LoadFileName],15,2)+''+SUBSTRING(@[User::V_LoadFileName],17,4)) 

有什麼建議?

回答

0

在SSIS中投射日期的字符串必須是YYYY-MM-DD
如果你想投的字符串日期時間,它應該是YYYY-MM-DD HH:MIS:SS

0

在Ferdipux的回答格式化數據的原因是你的環境可能沒有使用日期相同的風格(即YYYY/MM/DD VS YYYY/DD/MM)。

而且,你的例子有語法問題。在SSIS中投射有點奇怪。您在變量之前關閉括號。

(DT_BOOL)"0"回報FALSE

還要注意使用在SSIS兩份報價單。因此,您可能需要在腳本中使用'"'才能工作。

在SSIS一些鑄造的例子:

(«type») «expression» (DT_I4) (DT_STR, «length», «codepage») (DT_DATE) (DT_BOOL) (DT_WSTR, «length») (DT_NUMERIC, «precision», «scale») (DT_DECIMAL, «scale») (DT_DBTIMESTAMP)

最後,如果可以的話,使用表達式測試儀。在設計我自己的SSIS包裝時,讓生活對我來說非常簡單。 :D

http://expressioneditor.codeplex.com/