SSIS从ISO格式转换日期时间YYYY-MM-DDTHH:MM:SS.000Z

And*_*ist 4 datetime ssis typecast-operator

我有一个带有日期列的平面文件.它采用ISO 8601日期时间标准格式化.格式如下:2013-10-28T10:23:01.000Z

如何将其转换为datetimestamp格式?我使用了"派生列",但我还没有找到类型转换.

bil*_*nkc 9

我创建了一个示例包,添加了一个Flat File Connection Manager并定义了我的两个数据类型为DT_I4和DT_DATE的列

rownum,eventdate
1,2013-10-28T10:23:01.000Z
Run Code Online (Sandbox Code Playgroud)

然后我添加了一个带有平面文件源的数据流,选择了源文件并且繁荣导入失败.由于最令人抓狂的错误,导入失败

数据转换失败."eventdate"列的数据转换返回状态值2和状态文本"由于潜在的数据丢失,无法转换该值.".

如何将日期转换为日期?设计决策是尽可能友好地导入数据.这意味着人们使用理智的,基于标准的,像datetime这样的事物的文本表示.虽然美国的懒惰人士可以使用01-02-05和解释他们的数据Jan 2, 2005,但英国的懒人可以让他们Feb 1, 2005和日本人认为每个人都很生气Feb 5, 2001.

因此,默认情况下,地方性应该受到指责,它会尝试超出您的源数据.那么,解决方案是告诉SSIS已经关闭并获取我的数据!

闭嘴并取走我的数据!

在数据流中,右键单击数据源并选择高级编辑器.在"输入输出属性"选项卡中,展开"输出列",对于包含此良好数据的每个列,需要将FastParse其默认值设置为" 真".

FastParse