问题描述
我正在尝试使用Azure数据工厂将CSV插入到Azure sql表中。在我检查结果之前,一切似乎都很好。列之一是可为空的日期。 CSV包含一个1/2/2020 12:00:00 AM
这样的值。数据流无声地插入NULL
而不是抛出错误,因为它不喜欢输入。那么,如何获取数据流以将字符串正确地转换为日期时间,然后在以后出现类似问题时出错?我真的不希望出现静默故障和不良数据。
解决方法
空值是由于ADF中的日期格式不兼容。您需要进行日期格式转换。
您的原始日期格式是否为 MM / dd / yyyy HH:mm:ss ?
如果是这样,您可以使用Derived column并添加表达式toString(toTimestamp(<Your_Column_Name>,'MM/dd/yyyy HH:mm:ss'),'yyyy-MM-dd HH:mm:SS')
将此列格式化为String。它解决了NULL
的值。当然,您可以选择所需的日期格式。
我做了如下测试:
3。根据Mark Kromer的建议,我在“派生列”之后直接添加条件拆分,并检查isNull(EmpDate)。在这里,我使用not(isNull(EmpDate))
表达式。