我想將日期轉換爲ISO格式,並將其用作SSIS表達式中的字符串。SSIS - 在表達式中使用日期
這是我在T-SQL
select convert(varchar(8), GetDate(), 112)
類型,這就是我回來
20100630
我的目標 - 是創建基於日期的存檔文件夾。我有創建文件夾排序的文件系統任務部分,我可以做到這一點...我只需要能夠將日期轉換爲字符串,所以我可以使用它。
在此先感謝。
我想將日期轉換爲ISO格式,並將其用作SSIS表達式中的字符串。SSIS - 在表達式中使用日期
這是我在T-SQL
select convert(varchar(8), GetDate(), 112)
類型,這就是我回來
20100630
我的目標 - 是創建基於日期的存檔文件夾。我有創建文件夾排序的文件系統任務部分,我可以做到這一點...我只需要能夠將日期轉換爲字符串,所以我可以使用它。
在此先感謝。
你需要添加一個表達式:
RIGHT((DT_WSTR, 4) DATEPART("yyyy", GetDate()), 4) +
RIGHT("0" + (DT_WSTR,2)DatePart("mm", GetDate()), 2) +
RIGHT("0" + (DT_WSTR,2)DatePart("dd", GetDate()), 2)
這個表達式將創建你之後的結果。
在SSIS中,您可以使用DT_STR或DT_WSTR類型來完成。有幾個例子是
(DT_STR, 4, 1252)YEAR(GETDATE()) +
RIGHT("0" + (DT_STR, 2, 1252)MONTH(GETDATE()), 2) +
RIGHT("0" + (DT_STR, 2, 1252)DAY(GETDATE()), 2)
或
(DT_WSTR, 4)YEAR(GETDATE()) +
RIGHT("0" + (DT_WSTR, 2)MONTH(GETDATE()),2) +
RIGHT("0" + (DT_WSTR, 2)DAY(GETDATE()), 2)
請參閱MSDN documentation以獲取更多信息。
老問題,更好地兒的答案,從阿德里安的評論here:
嘗試的中間轉換爲類型DT_DBDATE。投射到WSTR給出格式 「YYYY-MM-DD」,這是很容易收拾一個 字符串:
REPLACE((DT_WSTR,200)(DT_DBDATE)GETUTCDATE(), 「 - 」, 「」)
或不REPLACE
使用,以獲得YY-MM-DD
ALMOST正確。那個返回100630,但我把第一行中的2改成了4,並得到了20100630,這正是我想要的。所以你可以在背後獲得豐厚的答案,並且接受答案。 – cometbill 2010-06-30 11:26:27
@Cometbill:我的錯。已經糾正了答案。 – 2010-06-30 11:27:16