2010-07-22 1 views

ответ

10

При указании столбцов в INFILE декларируют только определить формат данных проводится в. Подобно этому

load data 
infile 'whatever.csv' 
into table t23 
fields terminated by ',' 
trailing nullcols 
(
     col_1 integer 
    , col_2 char 
    , col_3 date "MM/DD/YYYY" 
    , col_4 date "MM/DD/YYYY" 
    , col_5 char 
) 

Не беспокойтесь о «до» формат даты. Это только для показа. Oracle хранит даты в своем собственном внутреннем представлении.

0

Вы пытаетесь загрузить данные MM/DD/YYYY в поле char/varchar2 или в поле даты?

Если вы пытаетесь загрузить его в поле даты и хотите сохранить день месяца, ответ APC верен. Вы всегда можете просто представить YYYYMM, если это то, что вы хотите сделать.

Если вы пытаетесь загрузить его в поле даты, и вы хотите, чтобы укоротить его на первый день месяца, я думаю, что-то, как это будет работать:

date_column date "MM/DD/YYYY" "trunc(:date_column, 'mm')"

Если вставить в колонке CHAR/VARCHAR2, вы могли бы преобразовать ее несколько иначе:

vc2_column char "substr(:vc2_column, 7, 4) || substr(:vc2_column, 1, 2)"

Смежные вопросы