如何将字符串转换为DataStage中的时间戳?
问题描述:
我从一个CSV文件中读取数据,我得到“2010-7-3”, 一个字符串,我不能这个数据转换成时间戳,因为它不喜欢“2010-07-03”如何将字符串转换为DataStage中的时间戳?
我该怎么办?有一个阶段可以处理这个问题吗?
答
在变压器中,设置三个阶段变量 - 年,月和日。它们各自的值应为
Field(InputLink.string_date, "-", 1)
Right("0" : Field(InputLink.string_date, "-", 2), 2)
Right("0" : Field(InputLink.string_date, "-", 3), 2)
然后在输出列中使用此:
StringToTimestamp(year : month : day : "000000", "%yyyy%mm%dd%hh%nn%ss")
+0
我使用java stage并通过java代码处理那个问题,我没有试过你的解决方案,但是谢谢你们所有的一样。 – wtm 2012-07-20 03:03:07
您是否尝试过指定的日期格式?像StringToTimestamp(DSLink.MY_STRING_COL,“%yyyy-%m-%d”)''? – 2012-07-19 13:59:45
但是,仍然有一些数据像“2010-12-30 12:30:10” – wtm 2012-07-20 02:57:39