尝试使用sql loader加载时区数据

时间:2016-04-29 16:53:06

标签: sql oracle sql-loader

有没有办法使用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')"

1 个答案:

答案 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'