Re: SQLLDR

From: ddf <oratune_at_msn.com>
Date: Wed, 9 Feb 2011 07:41:06 -0800 (PST)
Message-ID: <8c07ee1d-a8e5-47c0-ab9c-2c26aa6314ff_at_s29g2000pra.googlegroups.com>


[Quoted] On Feb 9, 8:44 am, The Magnet <a..._at_unsu.com> wrote:
> Here is a weird one, I am using SQLLDR to load a comma delimited
> file.  The last column in the record is numeric.  If there is no
> trailing comma after the field, I get a numeric error.  If I place a
> trailing comma, everything loads fine??
>
> Any thoughts?  I provided a line of data and the control file.
>
> AXFN      ,ISHARS-MS AC-US,ETF  ,
> 24.95,24.95,0.32,2608,24.1,25.21,ISHARES MSCI ACWI EX US FINANCIALS
> SECTO,BLACKROCK                               ,MSCI ALL COUNTRY WORLD
> EX USA FINANCIALS,24.73,0.48,20101221,0,N/A
>
> LOAD DATA
> INFILE *
> TRUNCATE
> INTO TABLE etf_data
> FIELDS TERMINATED BY ','
> OPTIONALLY ENCLOSED BY '"'
> TRAILING NULLCOLS
>  (ticker                     "TRIM(:ticker)",
>   company_name               "TRIM(:company_name)",
>   etf_etn                    "TRIM(:etf_etn)",
>   daily_open_price           "CASE WHEN TRIM(:DAILY_OPEN_PRICE)='N/A'
> THEN NULL ELSE :DAILY_OPEN_PRICE END" ,
>   daily_low_price            "CASE WHEN TRIM(:DAILY_LOW_PRICE)='N/A'
> THEN NULL ELSE :DAILY_LOW_PRICE END" ,
>   weekly_dividend            "CASE WHEN TRIM(:WEEKLY_DIVIDEND)='N/A'
> THEN NULL ELSE :WEEKLY_DIVIDEND END" ,
>   monthly_volume             "CASE WHEN TRIM(:MONTHLY_VOLUME)='N/A'
> THEN NULL ELSE :MONTHLY_VOLUME END" ,
>   monthly_low_price          "CASE WHEN TRIM(:MONTHLY_LOW_PRICE)='N/A'
> THEN NULL ELSE :MONTHLY_LOW_PRICE END" ,
>   monthly_high_price         "CASE WHEN TRIM(:MONTHLY_HIGH_PRICE)='N/
> A' THEN NULL ELSE :MONTHLY_HIGH_PRICE END" ,
>   full_name                  "TRIM(:full_name)",
>   sponser                    "TRIM(:sponser)",
>   benchmark                  "TRIM(:benchmark)",
>   monthly_nav                "CASE WHEN TRIM(:MONTHLY_NAV)='N/A' THEN
> NULL ELSE :MONTHLY_NAV END" ,
>   annual_operating_expense   "CASE WHEN
> TRIM(:ANNUAL_OPERATING_EXPENSE)='N/A' THEN NULL
> ELSE :ANNUAL_OPERATING_EXPENSE END" ,
>   dividend_ex_date           "CASE WHEN
> TRIM(:DIVIDEND_EX_DATE)='----------' THEN NULL ELSE
> TO_DATE(:DIVIDEND_EX_DATE,'YYYYMMDD') END",
>   dividend_yield             "CASE WHEN TRIM(:DIVIDEND_YIELD)='N/A'
> THEN NULL ELSE :DIVIDEND_YIELD END" ,
>   etf_rank                   "CASE WHEN TRIM(:ETF_RANK)='N/A' THEN
> NULL ELSE :ETF_RANK END"
> )

Enclose the N/A in quotes and it should work without the additional comma.

David Fitzjarrell Received on Wed Feb 09 2011 - 16:41:06 CET

Original text of this message