为什么在验证datetime字段时我在派生转换中出错?

时间:2012-05-09 14:50:10

标签: ssis

我在日期时间字段中有0000-00-00的来源。当我尝试将其复制到SQL目标时,会弹出错误。

我正在尝试派生列来修复它。如果0000-00-00将其更改为NULL。 这是图片。

enter image description here

为什么不工作?我已尝试将0000-00-00 00:00:00更改为0000-00-00,但仍然无效。

2 个答案:

答案 0 :(得分:2)

说明:

尝试使用以下表达式来解决此问题。由于您的传入字段属于DATETIME数据类型,并且您希望忽略其中包含零的所有值。您可以找到给定日期时间值的DAY,并检查它是否为零。如果它为零,则需要使用NULL函数NULL(DT_DBTIMESTAMP),否则您只需使用包含有效日期和时间值的字段名称。然后,将整个表达式输入到数据类型DT_DBTIMESTAMP

表达式:

  

(DT_DBTIMESTAMP)(DAY([FechaHoraCorteAgente])== 0?NULL(DT_DBTIMESTAMP):[FechaHoraCorteAgente])

答案 1 :(得分:1)

您应该在表达式中使用NULL(DT_DBTIMESTAMP)而不是NULL。