我一直在研究如何转换我在flatfile中的日期字符串,同时指定时间。我找到了使用DT_DBTIMESTAMP在SSIS中通过派生列进行转换的结果。但在我的情况下,我需要在9AM:9:00:00.000的时间添加,因为平面文件源没有它。
所以在我的情况下,我从扁平字符串中得到了这个例子:
5/9/80
我希望它能在SSIS中作为以下的1980-05-09 9:00:00.000
有什么想法吗?
答案 0 :(得分:1)
使用数据转换首先将日期更改为DT_DBTIMESTAMP,然后在表达式中使用带有以下内容的派生;
DATEADD("Hh",9,[COLUMN])
显然将列更改为数据流中的列。这应该会在时间戳上增加9个小时。
答案 1 :(得分:1)
试试这个:
DATEADD("HH",9,(DT_DBTIMESTAMP)((DT_STR,30,1252)(DT_DBDATE)([Create Date])))
[创建日期] = 5/9/80
答案 2 :(得分:0)
DATEADD("Hh",9, (DT_DBDATE)("19" + SUBSTRING([col], 5, 2) + "-" + RIGHT("00" + REPLACE(SUBSTRING([col], 3, 2), "/", ""), 2) + "-" + RIGHT("00" + REPLACE(SUBSTRING([col], 1, 2), "/", ""), 2)))