我是SSIS的新手,我正在做一个分配,在其中我从csv文件中读取一些列,然后使用SSIS将它们填充到SQL Server 2008表中。文件中的日期字段中有一列。如果该列具有yyyy-MM-dd
格式的有效日期以外的任何值,则需要将其更改为NULL并将其填充在SQL Server表中。有人可以帮忙吗?当前,对于某些记录,该文件具有“-”,对于某些记录,该文件具有空白。我看到可以将三元运算符用于?和:就像Java,但是如果文件的值比实际日期无效,我不确定如何使用它。
有人可以帮忙吗?
答案 0 :(得分:0)
您可以使用脚本组件来实现:
添加脚本组件以检查该值是否正确,并添加类型为OutDateColumn的Output Column,并使用类似的代码(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
您可以通过以下链接中的更多方法获得更详细的答案: