在SSIS中将日期格式从'DD \ MM \ YYYY'转换为'MM \ DD \ YYYY'

问题描述:

我试图将格式为mm\dd\yyyy的日期值插入到SQL Server中。 在我的源文件中.csv格式为dd\mm\YYYY。是否有可能以这种格式插入日期字段到SQL Server?在SSIS中将日期格式从'DD MM YYYY'转换为'MM DD YYYY'

谢谢...

+1

你不插入日期值转换为DB在任何特定的字符串格式。你的问题是将存储在CSV文件中的字符串值转换为DateTime实例,这与sql server无关。我不确定在SSIS中如何做到这一点。 –

+0

在ssis中,我们可以通过使用子字符串函数等将格式更改为mm \ dd \ yyyy ...但是当我们尝试将其插入数据库时​​,它将采用yyyy-mm-dd .. –

+0

@siva .. 。我们可以将YYYY-MM-DD hh:mi:ss.ms of sql更改为mm-dd-yyyy?或者我们只能以其他格式更改日期视图? –

使用数据流转换Data conversion并选择DT_DATE作为输出类型。

输入中的字符串(从您的Excel文件中)将被转换为日期对象(如果您的表列未输入日期)。

否则,您可以添加一个数据流转换script component解析您的字符串并将其转换为要求使用C#...

+0

这只是所需工作的一半。下半部分是让SSIS认识到日期值是以“dd/mm/yyyy”格式存储的。如果数据转换有一个设置,那么很好。否则,必须编写一个自定义(脚本?)模块。 –

在数据流添加一个出列变换。 创建一个新的派生列,并改变其表达

(DT_DBTIMESTAMP)(SUBSTRING(TextDate,7,4) + "-" + 
    SUBSTRING(TextDate,1,2) + "-" + SUBSTRING(TextDate,4,2)) 

您可以在此列,然后映射到您的SQL Server目标列

+0

@Clint ....谢谢......它将用于改变SSIS的格式... –

+1

在这一点上,您是否将传统标记为答案? –