我正在使用Kettle将数据从csv文件导入到oracle数据库。 现在,我在csv文件中遇到一个日期字符串,如下所示:
01-SEP-18 11.47.18.032000 AM ASIA / SHANGHAI
表的相应字段类型是“日期”或“时间戳记”。
我怎么用水壶来解决这个问题?
答案 0 :(得分:1)
使用带有时区的时间格式:
在CSV Input
步骤中,将日期格式选择为yyyy/MM/dd HH:mm:ss.SSS XXX
。
如果它不起作用(也许不能理解AM / PM),请在CSV Input
步骤中以 String 的形式读取日期。然后在Select value
标签中使用Meta-Data
将类型从字符串更改为日期。您有很多选择,选择所需的选择可能需要进行一些尝试。
如果它仍然不起作用(因为它不了解ASIA / Shangai或因为它发生了变化),那么请在Javascript
步骤中读取字符串,您可以在其中使用str2date
函数[open Transform function
/ Date function
,右键单击st2date(var,var,var,var)
并选择Sample
以获取功能说明]。
如果仍然不起作用,请使用Javascript
步骤来解析字符串并计算正确的结果。坦率地说,您可能不需要使用此最后的手段。