4

infile からのデータは、MM/DD/YYYYどのように制御ファイルにデータベースにロードするように指示するかという形式になっていますYYYYMM

4

2 に答える 2

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 
)

"to" の日付形式について心配する必要はありません。これは表示のみを目的としています。Oracle は、日付を独自の内部表現で格納します。

于 2010-07-22T12:08:28.373 に答える
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)"

于 2010-07-22T16:38:29.777 に答える