回答
添加脚本组件,马克HireDate
作为输入柱,用的dataType DT_DBTIMESTAMP
添加新的输出列outHireDate
在脚本编写如下:
声明的格式的数组:
Dim strFormats() as string = {"dd/MM/yyyy","yyyy/MM/dd","MM/dd/yyyy"}
并在Input0_ProcessInputRow
下使用DateTime.ParseExact
功能如下:
Row.OutHireDate = DateTime.ParseExact(Row.HireDate,strFormats,New System.Globalization.CultureInfo("en-GB"))
重要提示
这可能会导致冲突时,日,月比13
(例如:01/03/2010)低
如果我们不知道哪一行有哪种格式,这是毫无意义的。 –
@NickMcDermaid我同意这一点,这就是我的意思是在我的回答中的重要笔记 – Hadi
首先在“if”语句中验证或尝试解析(如果需要,嵌套)。 –
- 1. 日期转换以特定格式
- 2. 以特定格式转换日期和时间字符串
- 3. 字符串转换为日期时间以特定格式
- 4. 转换特定日期时间格式的时间戳值
- 5. 以特定时间格式转换
- 6. 以法语格式以mysql日期时间格式转换日期
- 7. 日期和时间格式在SSIS
- 8. 转换日期时间,特定的格式在C#
- 9. 以特定格式格式化日期时间
- 10. 以特定格式格式化日期
- 11. 转换日期至特定格式
- 12. - [R日期转换特定格式
- 13. 将日期转换为特定格式
- 14. 格式日期时间特定时区
- 15. 转换日期时间的不同格式的特定字符串格式
- 16. 转换“日期”以不同的格式,以特定的格式在红宝石
- 17. SQL日期时间格式转换
- 18. SQL - 转换日期时间格式
- 19. 日期时间转换格式到XML
- 20. 日期时间格式转换为vb.net
- 21. 转换日期时间格式?
- 22. 转换日期时间格式
- 23. 如何转换日期时间格式?
- 24. SQL日期时间格式转换
- 25. Python的日期时间格式转换
- 26. 日期时间转换 - 使用格式
- 27. 日期时间格式转换
- 28. PHP转换日期时间格式
- 29. 转换的日期时间格式
- 30. Python日期时间格式转换
你的源文件格式是不明确的。 01/10/2008是在1月1日还是10日?你不知道,所以你不能转换它。还*在SQL Server中忘记*关于日期'格式'。选择正确的数据类型'DATE'并忘记视觉格式 –
除非您有一些方法来确定平面文件中每个记录中使用的日期格式,否则无法正确完成。正如@ Nick.McDermaid所写的那样 - 所有日期小于13的日期都不明确。此外,您应该知道[日期时间数据类型不保存显示格式。](http://stackoverflow.com/questions/30032915/how-to-cast-the-datetime-to-time/30033028#30033028) –
如果它只有两种格式,即yyyy/mm/dd或dd/mm/yyyy,可以更改为yyyy/mm/dd格式吗? @ Nick.McDermaid –