【发布时间】:2010-08-24 00:35:17
【问题描述】:
来自源的数据具有字符串数据类型,有时具有无效日期,空列('')我想检查它是否是有效日期并将字符串转换为日期时间。我如何在 SSIS 中做到这一点?
我的字符串值已经格式化为 mm/dd/yyyy。
【问题讨论】:
标签: sql sql-server sql-server-2008 ssis
来自源的数据具有字符串数据类型,有时具有无效日期,空列('')我想检查它是否是有效日期并将字符串转换为日期时间。我如何在 SSIS 中做到这一点?
我的字符串值已经格式化为 mm/dd/yyyy。
【问题讨论】:
标签: sql sql-server sql-server-2008 ssis
这是一个您可以在派生列转换中使用的表达式,它将日期转换为 DT_DBTIMESTAMP 数据类型。或者,如果它为 null 或空白,它会将值设置为 null(使用 DT_DBTIMESTAMP 数据类型)。 DT_DBTIMESTAMP 数据类型与 SQL Server DATETIME 数据类型匹配。
ISNULL(MyDate) || TRIM(MyDate) == "" ? NULL(DT_DBDATE) : (DT_DBDATE)MyDate
如果输入值不是有效日期,您可以将错误输出路径映射到另一个派生列转换,该转换将空值分配给列。
【讨论】:
空字符串应该转换成什么日期时间值?无效的?您可以使用派生列转换和/或脚本转换。
【讨论】: