SQLLDR Wrongly Calculates The Field Length Based On Timestamp Format Mask

(Doc ID 1317487.1)

Last updated on NOVEMBER 28, 2016

Applies to:

Oracle Database - Enterprise Edition - Version to [Release 10.1 to 11.2]
Information in this document applies to any platform.


You loaded data into a table with a column TIMESTAMP(6) and observed that the last digit from fractional part of seconds is lost (zeroed).

Let's follow the next example that demonstrates this:

connect / as sysdba
create user test identified by test default tablespace users temporary tablespace temp;
grant connect, resource to test;

connect test/test

create table a_tab
   a_date timestamp(6)

-- write the control file ldr.ctl
load data
infile *
into table a_tab
   a_date position(1) timestamp "YYYY-MM-DD-HH24.MI.SS.FF6"


-- start SQL*Loader with
sqlldr test/test control=ldr.ctl

The results in table:

SQL> select * from a_tab;

03-OCT-07 PM

=> The last digit in fractional part of seconds "429675" is zeroed ("429670").


Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms