ablog

不器用で落着きのない技術者のメモ

SQL*Loader で日付型のカラムにデータを登録する

OracleSQL*Loader で日付型のカラムにデータを登録したい場合、

date_time "to_date(:date_time, 'mmddhh24miss')"

とか

date_time date "mmddhh24miss"

みたいに制御ファイルに書いてやるよい。

実行してみるとこんな感じ。

$ cat session_wait_log.ctl 
load data characterset ja16sjis
 append into table session_wait_log
 fields terminated by ','
 trailing nullcols
        ( 
        date_time "to_date(:date_time, 'mmddhh24miss')",
        sid,
        machine,
        username,
        command,
        status,
        program,
        sql_address,
        sql_hash_value,
        prev_sql_addr,
        prev_hash_value,
        logon_time "to_date(:date_time, 'mmddhh24miss')",
        event,
        p1,
        p2,
        p3,
        wait_time, 
        seconds_in_wait, 
        blocking_session
)
$ sqlldr userid=scott/tiger control=session_wait_log.ctl data=session_wait.log