Kettle:如何将 csv 文件中的特定日期字符串插入 table 的日期字段
Kettle: How to insert the a specific date string from csv file to date field of a table
我正在使用 Kettle 将数据从 csv 文件导入到 oracle 数据库。
现在我在 csv 文件中遇到一个日期字符串,如下所示:
01-SEP-18 11.47.18.032000 AM ASIA/SHANGHAI
而table对应的字段类型是Date或Timestamp。
如何使用 Kettle 来处理这个问题?
使用带时区的时间格式:
在 CSV Input
步骤中 select 日期格式为 yyyy/MM/dd HH:mm:ss.SSS XXX
.
如果它不起作用(也许它不理解 AM/PM),请在 CSV Input
步骤中将日期读取为 String。然后使用 Select value
在 Meta-Data
选项卡中将类型从 String 更改为 Date。您有很多选择,select您需要的可能会要求进行一些试用。
如果它仍然不起作用(因为它不理解 ASIA/Shangai 或因为它发生了变化),那么在 Javascript
步骤中读取字符串,您可以在其中使用 str2date
函数[打开Transform function
/Date function
,右击st2date(var,var,var,var)
和selectSample
得到函数说明]
如果还是不行,再用Javascript
步骤解析字符串,计算出正确的结果。坦率地说,您可能不需要使用这个最后的手段。
我正在使用 Kettle 将数据从 csv 文件导入到 oracle 数据库。 现在我在 csv 文件中遇到一个日期字符串,如下所示:
01-SEP-18 11.47.18.032000 AM ASIA/SHANGHAI
而table对应的字段类型是Date或Timestamp。
如何使用 Kettle 来处理这个问题?
使用带时区的时间格式:
在 CSV Input
步骤中 select 日期格式为 yyyy/MM/dd HH:mm:ss.SSS XXX
.
如果它不起作用(也许它不理解 AM/PM),请在 CSV Input
步骤中将日期读取为 String。然后使用 Select value
在 Meta-Data
选项卡中将类型从 String 更改为 Date。您有很多选择,select您需要的可能会要求进行一些试用。
如果它仍然不起作用(因为它不理解 ASIA/Shangai 或因为它发生了变化),那么在 Javascript
步骤中读取字符串,您可以在其中使用 str2date
函数[打开Transform function
/Date function
,右击st2date(var,var,var,var)
和selectSample
得到函数说明]
如果还是不行,再用Javascript
步骤解析字符串,计算出正确的结果。坦率地说,您可能不需要使用这个最后的手段。