代码之家  ›  专栏  ›  技术社区  ›  jackfrost5234

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

  •  0
  • jackfrost5234  · 技术社区  · 8 年前

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

    如果它是0,我想将它作为空值插入数据库。然而,我不确定如何解决日期不可为空的问题。

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

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

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

    它抛出一个错误,说明我的表达式无效。我的列out_period_end_dt是dt_DBDATE类型。我试图寻找一个可为空的日期数据类型,但我找不到。建议?

    1 回复  |  直到 8 年前
        1
  •  1
  •   Bruce Dunwiddie    8 年前

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