【发布时间】:2016-12-30 15:52:25
【问题描述】:
在 oracle 12c 上使用制表符分隔的文本文件和 sql loader 11.1.0.6.0 加载数据时出现 ORA-01843: not a valid month 错误。
控制文件:
options (skip=1)
load data
truncate
into table test_table
fields terminated by '\t' TRAILING NULLCOLS
(
type,
rvw_date "case when :rvw_date = 'NULL' then null WHEN REGEXP_LIKE(:rvw_date, '\d{4}/\d{2}/\d{2}') THEN to_date(:rvw_date,'yyyy/mm/dd') else to_date(:rvw_date,'mm-dd-yy') end"
)
数据:
type rvw_date
Phone 2014/01/29
Phone 2014/02/13
Field NULL
Phone 01/26/15
Field 02/25/12
架构:
create table test_table
(
type varchar2(20),
rvw_date date
)
【问题讨论】:
-
为什么在查找
yyyy/mm/dd时指定mm-dd-yyyy? -
我正在使用 yyyy/mm/dd 本身进行测试,但后来我更改为 mm-dd-yyyy 以查看它是否有效。我已经编辑了这个问题。谢谢
标签: oracle oracle12c sql-loader