SSIS 2014 派生列,用于将日期设置为 null 的三元表达式



在我的包中,我正在读取一个平面文件。该文件可以在其中一个字段中指定日期,也可以保留为 0 的字符串。

如果它是 0,我想将其作为 null 插入我的数据库。但是我不确定如何处理日期不可为空的问题。

目前,我正在检查我的脚本组件中该文件是否具有此日期的 0。如果为 0,则将其设置为默认日期 1/1/1900。

然后在派生列中,如果我的日期年份为 1900 年,我将尝试替换我的out_period_end_dt列以将其设置为 null 值,或者只是保持原样。我的表达:

YEAR(out_period_end_dt) == 1900? out_period_end_dt = null : out_period_end_dt

它抛出一个错误,指出我的表达式无效。我的列out_period_end_dt属于DT_DBDATE类型。我尝试查找可为空的日期数据类型,但找不到。建议?

年份(out_period_end_dt) == 1900?空(DT_DBDATE) : out_period_end_dt