0

We are trying to load a file created by fast export into an oracle database.
However the Float column is being exported like this: 1.47654345670000000000 E010.

How do you configure fastexport to export like this: 14765434567.

We are loading the exported file into our oracle database via SQL*Loader

Update:
Originally it was using: cast(XXXX as varchar(500)) in the query provided to FastExport.

ScrappyDev
  • 1,583
  • 8
  • 28
  • 46
  • Are all of your floats actually integers? If not, can you give some more examples of the values that you have in that column? – lins314159 Feb 29 '12 at 23:15
  • 1
    Can you provide the FastExport script or SQL used to produce the exported file? Have you tried to CAST it to a fixed point number in the SELECT statement? – Rob Paller Mar 01 '12 at 16:38
  • All the floats in our data are actually integers. I have absolutely no idea why they did that. – ScrappyDev Mar 04 '12 at 16:10

1 Answers1

2

The solution is to use cast(cast(FLOAT_VAL as FORMAT 'Z(16)') as varchar(16))

To make it all numeric and left padded with spaces: cast(FLOAT_VAL as FORMAT 'Z(16)')

To remove the padding:cast(<VALUE> as varchar(16))

An alternative solution: trim(cast(FLOAT_VAL as FORMAT 'Z(16)'))

.logtable sysdba.TABLE_NAME;
.run file XXX/XXXXX/XXXXXX/XXXXX.btq;
.begin export;
.export outfile /XXX/XXX/XXX/XXX/YYYYYYY.YYYYYYYYYY_19000100-19000100 MODE RECORD FORMAT TEXT;
SELECT cast( cast(cast(FLOAT_VAL as FORMAT 'Z(16)') as varchar(16))
          || case when XXXXXXXXXXXXXXXXXXXX      is null then '|' else cast(XXXXXXXXXXXXXXXXXXXX      as varchar(500)) || '|' end
          || case when XXXXXXXXXXXXXXXXXXXXX     is null then '|' else cast(XXXXXXXXXXXXXXXXXXXXX     as varchar(500)) || '|' end
          || case when XXXXXXXXXXXXXXXXXXXXXXXXX is null then '|' else cast(XXXXXXXXXXXXXXXXXXXXXXXXX as varchar(500)) || '|' end
          || case when XXXXXX                    is null then '|' else cast(XXXXXX                    as varchar(500)) || '|' end
          || case when XXXXXXXXXX                is null then '|' else cast(XXXXXXXXXX                as varchar(500)) || '|' end
          || case when XXXXXXXXXXXXXXX           is null then '|' else cast(XXXXXXXXXXXXXXX           as varchar(500)) || '|' end
          || case when XXXXXXXXXXXXXXXXXXXXX     is null then '|' else cast(XXXXXXXXXXXXXXXXXXXXX     as varchar(500)) || '|' end
          || case when XXXXXXXXXXXXXXXX          is null then '|' else cast(XXXXXXXXXXXXXXXX          as varchar(500)) || '|' end
          || case when XXXXXXXXXXXXXXXXX         is null then '|' else cast(XXXXXXXXXXXXXXXXX         as varchar(500)) || '|' end
          || case when XXXXXXXXXXXXXX            is null then '|' else cast(XXXXXXXXXXXXXX            as varchar(500)) || '|' end
          || case when XXXXXXXXXXXXXXX           is null then '|' else cast(XXXXXXXXXXXXXXX           as varchar(500))        end
       as char(360))
  from YYYYYYY.YYYYYYYYYY;
.end export;
ScrappyDev
  • 1,583
  • 8
  • 28
  • 46