Talend-使用tmap组件解析日期时的空字符串处理

时间:2018-07-21 22:28:41

标签: string talend is-empty tmap

我有一份将CSV加载到MySQL表中的工作。我正在使用t-map组件将日期解析为字段的字段中有一些记录的空字符串。在将字符串解析为日期时,我需要将这些空字符串转换为当前日期。我已经在tmap组件中尝试过此表达式,但是没有运气。我的字段名称是“ Payroll_Pay_Date”,这是表达式:

row1.Payroll_Pay_Date equals("")?TalendDate.getCurrentDate():TalendDate.parseDate("MM/dd/yyyy",row1.Payroll_Pay_date)

我已经尝试了几种方法。实际上,我真正想要的是将空字符串替换为“当前日期-7天”,但是我认为我将从上面开始。任何建议将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以这样做:

row1.Payroll_Pay_Date == null ||  row1.Payroll_Pay_Date.trim().isEmpty() ? TalendDate.getCurrentDate() : TalendDate.parseDate("MM/dd/yyyy",row1.Payroll_Pay_date)

在这里,我首先测试该字符串是否为null或为空或仅包含空格,在这种情况下,我将返回当前日期。否则,我将解析日期。

要获取当前日期减去7天,可以执行以下操作:

TalendDate.addDate(TalendDate.getCurrentDate(), -7, "dd")