我想将日期转换为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