Oracle sqlldr 时间戳格式问题
Oracle sqlldr timestamp format issue
我在让 sqlldr 将 DAT 文件数据文件导入我的 table 时遇到问题,特别是时间戳字段。
2018-11-02T20:54:38.000000+0000
我已经在我的控制文件中尝试了所有的组合方式并且正在原地打转。有谁知道我的控制文件中应该为上述时间戳格式使用什么?
作为参考,这是我最近尝试过的:
load data
infile 'feed.dat'
into table cust_acct
fields terminated by "|"
( ...
updateddatetime TIMESTAMP "YYYY-MM-DD-HH24.MI.SS",
...)
日期 2018-11-02T20:54:38.000000+0000
有一个时区部分,所以你想要 TIMESTAMP WITH TIME ZONE
data type 并且你有 6 个小数秒数字,所以你的数据类型应该有 6 的精度。
在带反斜杠的 DateTime format model you can use double quotes to indicate a literal string and, in sqlldr you can escape the double quotes 中:
updateddatetime TIMESTAMP(6) WITH TIME ZONE "YYYY-MM-DD\"T\"HH24:MI:SS.FF6TZR",
或
updateddatetime TIMESTAMP(6) WITH TIME ZONE "YYYY-MM-DD\"T\"HH24:MI:SS.FF6TZHTZM",
我在让 sqlldr 将 DAT 文件数据文件导入我的 table 时遇到问题,特别是时间戳字段。
2018-11-02T20:54:38.000000+0000
我已经在我的控制文件中尝试了所有的组合方式并且正在原地打转。有谁知道我的控制文件中应该为上述时间戳格式使用什么?
作为参考,这是我最近尝试过的:
load data
infile 'feed.dat'
into table cust_acct
fields terminated by "|"
( ...
updateddatetime TIMESTAMP "YYYY-MM-DD-HH24.MI.SS",
...)
日期 2018-11-02T20:54:38.000000+0000
有一个时区部分,所以你想要 TIMESTAMP WITH TIME ZONE
data type 并且你有 6 个小数秒数字,所以你的数据类型应该有 6 的精度。
在带反斜杠的 DateTime format model you can use double quotes to indicate a literal string and, in sqlldr you can escape the double quotes 中:
updateddatetime TIMESTAMP(6) WITH TIME ZONE "YYYY-MM-DD\"T\"HH24:MI:SS.FF6TZR",
或
updateddatetime TIMESTAMP(6) WITH TIME ZONE "YYYY-MM-DD\"T\"HH24:MI:SS.FF6TZHTZM",