2016-08-05 4 views
0

Из-за столбца «-» в столбце END_DATE в исходном файле данные не вставлены в таблицу.Состояние файла управления загрузчиком SQL для форматирования данных

Я хочу, чтобы это работало, как в нижнем условии. Файл

IF '-' UPDATE END_DATE = NULL 
ELSE END_DATE DATE "DD-MM-YYYY" 

управления:

infile 'Test.csv' 
append into table DATA.Test 
fields terminated by ',' 
optionally enclosed by '"' 
(
    EMPLOYEE_ID 
    END_DATE DATE "DD-MM-YYYY" 
) 

Источник данных: Test.csv

EMPLOYEE_ID,END_DATE DATE 
"12345","-" 
"12346","12/11/2016" 

ответ

0

Вы можете использовать тематическое заявление в файле управления, как это:

infile 'Test.csv' 
append into table DATA.Test 
fields terminated by ',' 
optionally enclosed by '"' 
(
EMPLOYEE_ID, 
END_DATE DATE "CASE WHEN :END_DATE = '-' THEN NULL 
        ELSE to_date(:END_DATE, 'MM/DD/YYYY') 
       END" 
) 
+0

Спасибо Гэри, он работал с незначительными изменениями в синтаксисе, END_DATE "CASE WHEN: END_DATE = '-' THEN NULL ELSE to_date (: END_DATE, 'DD-MM-YYYY') END" –