在填充到表列时,如何将无效条目从日期字段的文件转换为NULL?

问题描述 投票:0回答:1

我是SSIS的新手,我正在进行一项任务,我正在从csv文件中读取一些列,并使用SSIS将它们填充到SQL Server 2008表中。日期字段的文件中有一列。如果列具有yyyy-MM-dd格式的有效日期以外的任何值,我需要将其更改为NULL并将其填充到SQL Server表中。有人可以帮忙吗?目前,该文件的某些记录为“ - ”,某些记录为空白。我看到我可以使用三元运算符了吗?并且:就像java一样,但如果文件的值不是实际日期,我不知道如何使用它。

有人可以帮忙吗?

sql-server date ssis flat-file ssis-2008
1个回答
0
投票

您可以使用脚本组件实现此目的:

添加脚本组件以检查值是否正确,并添加类型为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

您可以通过以下链接中的更多方法获得更详细的答案:

© www.soinside.com 2019 - 2024. All rights reserved.