sql-server - 填充到表列时,如何将日期字段文件中的无效条目转换为 NULL?
问题描述
我是 SSIS 的新手,我正在处理一项任务,我正在从 csv 文件中读取一些列,并使用 SSIS 将它们填充到 SQL Server 2008 表中。文件中有一个日期字段列。如果该列具有除格式中的有效日期之外的任何值yyyy-MM-dd
,我需要将其更改为 NULL 并将其填充到 SQL 服务器表中。有人可以帮忙吗?目前,该文件的某些记录为“-”,某些记录为空白。我看到我可以将三元运算符与 ? 和:就像java一样,但如果文件有任何比实际日期无效的值,我不确定如何使用它。
有人可以帮忙吗?
解决方案
您可以使用脚本组件实现此目的:
添加脚本组件检查值是否正确,并添加类型即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
您可以在下面的链接中使用更多方法获得更详细的答案:
推荐阅读
- arrays - 快速排序最坏情况的空运行
- javascript - 如何显示不同颜色的数组
- php - laravel5.8 Queue::exceptionOccurred 获取异常
- javascript - getcomputedstyle 仅更改默认值
- c# - LDAP更改/重置密码c#mvc
- authentication - 如何在 ibm cloudant 中手动添加用户?
- lisp - 当您尝试打印变量时,有没有办法打印错误消息?
- node.js - 是否可以使用 frontend-maven-plugin 在开发模式下启动 Web 应用程序(vuejs+springboot)?
- python - 如何解决 ValueError 长度不匹配 预期轴有 0 个元素,新值有 7 个元素
- c# - .NET Core 2.2 如何正确防御 XSS