ORA-01841: (full) year must be between -4713 and +9999,
and not be 0 tips
Oracle Error Tips by Burleson (S. Karam)
Question: I have a table with a column having date as 20150324 i.e YYYYMMDD.
When I try to load this data via sqlldr , it gives me the ORA-01841 error
ORA : 01841.
ORA-01841: (full) year must be between -4713 and +9999, and not be 0
My SQL*Loader control file looks like this:
admidate date 'YYYYMMDD' NULL IF admidate = BLANKS;
oerr utility notes this on the
ORA-01841: (full) year must be
between -4713 and +9999, and not be 0
Illegal year entered
Action: Input year in the specified range
On Oracle MOSC, a case is present concerning ORA-01841. The
solution is described as follows and includes some information about
ORA-01841 and a few associated bugs. The bBug numbers are 944232
Are you trying to load NULL values in records?
so, can you do a "change all" to make the NULL values NOT NULL
is lots of good advice on this error on Google.
Can you view the
records to load and visually inspect the date formats?
Try this date
admidate date "YYYYMMDD" nullif (admidate=BLANKS)
If you are loading a column with a DATE datatype, then you need to
use the to_date function:
admidate TO_DATE("admidate",'yyyymmdd') nullif