我是SSIS的新手,我正在进行一项任务,我正在从csv文件中读取一些列,并使用SSIS将它们填充到SQL Server 2008表中。日期字段的文件中有一列。如果列具有yyyy-MM-dd
格式的有效日期以外的任何值,我需要将其更改为NULL并将其填充到SQL Server表中。有人可以帮忙吗?目前,该文件的某些记录为“ - ”,某些记录为空白。我看到我可以使用三元运算符了吗?并且:就像java一样,但如果文件的值不是实际日期,我不知道如何使用它。
有人可以帮忙吗?
您可以使用脚本组件实现此目的:
添加脚本组件以检查值是否正确,并添加类型为OutDateColumn的输出列,使用类似的代码(VB.NET)
IF Not Row.DateColumn_IsNULL Then
dim dtDate as DateTime
If DateTime.TryParseExact(Row.DateColumn,"yyyyMMdd",System.Globalization.InvariantCulture,System.Globalization.DateTimeStyles.None , dtDate ) Then
Row.outDateColumn = dtDate.ToString("yyyy-MM-dd")
Else
Row.outDateColumn_IsNull = True
End If
Else
Row.outDateColumn_IsNull = True
End If
您可以通过以下链接中的更多方法获得更详细的答案: