我想将日期转换为ISO格式,并将其用作SSIS中表达式中的字符串。
这是我在T-SQL中键入的内容
select convert(varchar(8), GetDate(), 112)
这就是我回来的原因
20100630
我的目标 - 根据日期创建存档文件夹。我有文件系统任务部分创建一个文件夹排序,我可以这样做...我只需要能够将日期转换为字符串,所以我可以使用它。
提前致谢。
答案 0 :(得分:3)
老问题,更好的答案,来自Adrian的评论here:
尝试使用中间转换来键入DT_DBDATE。投射到WSTR给出了一个 格式为“YYYY-MM-DD”的字符串,很容易整理:
REPLACE((DT_WSTR,200)(DT_DBDATE)GETUTCDATE(), “ - ”, “”)
或者在没有REPLACE
的情况下使用YY-MM-DD
答案 1 :(得分:2)
您需要添加表达式:
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)
此表达式将创建您所追求的结果。
答案 2 :(得分: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。
答案 3 :(得分:2)
要添加其他答案,以下是我经常使用的参考指南: