我有一个 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
我希望加载变量是最好的方式
- 将源表中的字符串转换为我需要的格式的日期?
- 如何处理空日期,因为我需要获取 2 个日期之间的差异,但要处理 1 个或两个日期可能为空或为空的情况
- 如何获取目标表以我需要的格式存储日期?我在目标 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/