SQL * Loader的日期格式

时间:2014-02-19 21:57:33

标签: sql oracle sql-loader

我正在尝试将记录文件导入表中并且正在

Rejected - Error on table FUNDPRICE_TEST, column FUNDDATE.
ORA-01843: not a valid month

我做了一些研究,并且读到默认情况下Oracle希望日期格式为yyyymmdd。显然,当第一天的值(我的情况下的第一条记录)超过12时,这会引发错误。

如何将导出的csv文件中的日期格式从mm/dd/yyyy 00:00:00格式化为此yyyymmdd格式?

这当然是假设这是我的问题。我可能正在咆哮错误的树。

尝试日期格式化后,这是ctl文件:

load data
infile 'commands/FundPriceDataNEW2.txt'
 into table FundPrice
 fields terminated by "," optionally enclosed by '"'          
 ( FUND, FUNDDATE DATE "mm/dd/yyyy HH24:MI:SS", FAV, FUNDVALUE )

以下是FundPriceDataNEW2.txt的一些记录:

16,9/30/1999 0:00:00,"999999",9.64
16,10/31/1999 0:00:00,"999999",10.06
16,11/30/1999 0:00:00,"999999",10.40

订单是fund,funddate,fav,fundvalue。错误发生在格式无效的日期。

1 个答案:

答案 0 :(得分:6)

FUNDDATE DATE "mm/dd/yyyy HH24:MI:SS"

在控制卡(控制文件)中,尝试为日期列添加上述格式。