Talend MySql String To MySql存储和差异计算的日期

时间:2015-03-29 19:28:36

标签: mysql parsing date talend

我有一个存储在varchar列中的字符串2014-02-21 16:53:01的MySql表。我需要使用Talend Data Integration将其转换为dd / mm / yyyy hh:mm:ss格式的计算日期,并在计算后将其以该格式存储在另一个MySql中作为日期列。

我有一个talend tmap组件,但我得到解析错误,不知道如何解决它以及所需的一般步骤序列。

在tmap中我有一个带表达式

的变量
row1.date !=null ? TalendDate.parseDate("dd/mm/yyyy hh:mm:ss",row1.date):null 

我希望加载变量wiIs是最好的方法

  1. 将源表中的字符串转换为我需要的格式的日期?
  2. 你如何处理空日期,因为我需要获得2个日期之间的差异,但处理1或两者可能为空或空的情况
  3. 如何让目标表以我需要的格式存储日期?我在目标tmap架构中提供了日期模式,但如果日期格式为yyyy-mm-dd就足够了吗?
  4. 任何Talend专家能够帮助新手吗?

3 个答案:

答案 0 :(得分:0)

您可以尝试以下条件,也会处理空白字符串; -

row1.date!= null&& ! “”。equalsIgnoreCase(row1.date)? TalendDate.parseDate(“MM / dd / yyyy HH:mm”,row1.date):null

答案 1 :(得分:0)

为了更好地控制零点检查,我建议您使用以下功能。

!Relational.ISNULL(row1.date) && !"".equalsIgnoreCase(row1.date) ?TalendDate.parseDate("MM/dd/yyyy HH:mm",row1.date):(null or default date);

如果您在日期进行任何操作?然后不要提供null因为你可能会在下一个组件上出错。

始终传递默认值,以便您可以签入下一个组件并忽略它或根据业务需要存储它。

答案 2 :(得分:0)

感谢您的帮助。我决定配置数据库输入的模式,以将日期标识为日期数据类型而不是字符串,使得Talend完成转换工作

验证日期的指针也很有用。感谢UmeshR的帮助

相关问题