有没有办法使用sql loader加载时区数据?
例如:数据格式为2016-04-28T08:42:24.412822Z
在控制文件中我使用TO_TIMESTAMP_TZ
T_DATE "TO_TIMESTAMP_TZ(:T_DATE,'YYYY/MM/DD HH12:MI:SS:FF TZHTZM')"
答案 0 :(得分:2)
您的日期格式模型与您的样本日期不符。我怀疑你真的想要HH12,因为没有AM / PM标记,但问题是ISO格式的固定T.您可以处理as a character literal:
日期时间格式模型中的标点符号和字符文字
您可以在日期格式模型中包含这些字符:
- 连字符,斜线,逗号,句号和冒号等标点符号
- 字符文字,用双引号括起来
由于您的SQL * Loader行已经是双引号,您需要转义:
t_date "to_timestamp_tz(:T_DATE, 'yy-mm-dd\"T\"hh24:mi:ss.ff tzhtzm')"
或者更简单地使用built-in date/time handling而不是明确的SQL operator,即:
t_date timestamp with time zone 'yyyy-mm-dd"T"hh24:mi:ss.ff tzhtzm'