Skip to Main Content

SQL & PL/SQL

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

ORA-01722: invalid number in SQL Loader

994122Mar 11 2015 — edited Mar 12 2015

Hi all,

CREATE TABLE SAMPL_TABLE

(

   ITEM_CATEGORY                VARCHAR2 (30 BYTE),

   ITEM_NO                      VARCHAR2 (240 BYTE),

   ITEM_DESCRIPTION             VARCHAR2 (240 BYTE),

   CUSTOMER_NAME                VARCHAR2 (240 BYTE),

   CUSTOMER_NO                  VARCHAR2 (240 BYTE),

   VALID_AMOUNT_MONTH1          NUMBER,

   VALID_UNITS_MONTH1           NUMBER,

   VALID_BUDGET_AMOUNT_MONTH1   NUMBER,

   VALID_BUDGET_UNITS_MONTH1    NUMBER,

   ATTRIBUTE1                   VARCHAR2 (240 BYTE),

   ATTRIBUTE2                   VARCHAR2 (240 BYTE),

   VALID_RATE                   NUMBER

);

Control File

Options(errors=10000,skip=3)

LOAD DATA

INFILE '/home/appltest/Sheet1.csv'

BADFILE 'sample.bad'

DISCARDFILE 'sample.dsc'

REPLACE

INTO TABLE sampl_table

fields terminated by ','

optionally enclosed by '"'  

trailing nullcols

(

customer_name  CHAR NULLIF customer_name = BLANKS "RTRIM(:customer_name)",

customer_no  CHAR NULLIF customer_no = BLANKS "RTRIM(:customer_no)",

item_no  CHAR NULLIF item_no = BLANKS "RTRIM(:item_no )",

valid_amount_month1    "to_number(:valid_amount_month1 , '999,999,999.99')"  ,

valid_units_month1      "to_number(substr(:valid_units_month1,instr(:valid_units_month1,'$')+1),'999,999,999.99')",

valid_budget_units_month1    "to_number(:valid_budget_units_month1, '999,999,999.99')"                                      ,

valid_budget_amount_month1  "to_number(trim(substr(:valid_budget_amount_month1,instr(:valid_budget_amount_month1,'$')+1)),'999,999,999.99')"    ,

valid_rate    CHAR NULLIF valid_rate = BLANKS "RTRIM(:valid_rate)"

)

Sheet1.csv

          

Cust NameCust #Item NoItem DescCategoryAmount - Month 1Units - Month 1act totact totBudget - Month 1Budget -Unit- Month 1Rate
Cust NameCust #Item NoItem DescCategoryAmount - Month 1Units - Month 1act totact totBudget - Month 1Budget -Unit- Month 1Rate
Cust NameCust #Item NoItem DescCategoryAmount - Month 1Units - Month 1act totact totBudget - Month 1Budget -Unit- Month 1Rate
REYNU1001ABC001ABC RenyuABC82611
REYNU11028ABC123ABCRenyu123ABC29514691
REYNU21028ABC344ABC Renyu 344ABC227063351


Getting below error

Record 1: Rejected - Error on table SAMPL_TABLE, column VALID_RATE.

ORA-01722: invalid number

Record 2: Rejected - Error on table SAMPL_TABLE, column VALID_RATE.

ORA-01722: invalid number

Record 3: Rejected - Error on table SAMPL_TABLE, column VALID_RATE.

ORA-01722: invalid number

Record 1: Rejected - Error on table SAMPL_TABLE, column VALID_AMOUNT_MONTH1          .

ORA-01722: invalid number

Record 2: Rejected - Error on table SAMPL_TABLE, column VALID_AMOUNT_MONTH1          .

ORA-01722: invalid number

Record 3: Rejected - Error on table SAMPL_TABLE, column VALID_AMOUNT_MONTH1

ORA-01722: invalid number

Can you please help me??

Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production

This post has been answered by RajenB on Mar 12 2015
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 9 2015
Added on Mar 11 2015
25 comments
20,909 views