mysql - Talend MySql String To MySql Date 用于存储和差异计算

标签 mysql parsing date talend

我有一个 MySql 表,其中的 String 2014-02-21 16:53:01 存储在 varchar 列中。我需要使用 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 

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

  1. 将源表中的字符串转换为我需要的格式的日期?
  2. 如何处理空日期,因为我需要获取 2 个日期之间的差异,但要处理 1 个或两个日期可能为空或为空的情况
  3. 如何获取目标表以我需要的格式存储日期?我在目标 tmap 模式中提供了日期模式,但是如果日期格式为 yyyy-mm-dd 就足够了吗?

有任何 Talend 专家可以帮助新手吗?

最佳答案

为了更好地控制空检查,我建议您使用以下函数。

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

您在约会时是否进行过任何操作?然后不要提供 null 作为结果,因为您可能会在下一个组件上遇到错误。

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

关于mysql - Talend MySql String To MySql Date 用于存储和差异计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29333771/

相关文章:

android - 使用retrofit2.0解析JSON对象

html - 有没有办法改变输入类型 ="date"格式?

php - 将对象插入 MySQL 数据库字段

java - 从 URL 检索 XML,不写入前几行

mysql - 游标循环内表中的 SELECT 语句强制游标退出

ios - 从xml服务获取值时出现\n而不是字符串

php - mysql 显示表中最早的日期

sql - 从prestosql中的日期列获取星期几?

php mysql - 从多个表中选择所有行然后保存为对象数组 (json)

mysql - 一对一关系