Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

SQL*Loaderの制御ファイルでSQL*Loader-350エラー

906622Jan 19 2012 — edited Jan 20 2012
Oracle DB 11gR2 Standard Edition One
Red Hat Enterprise Linux 6.0
オフライン

こんにちは。
SQL*Loaderにて、データをロードしています。
データファイルに空白のみの項目があった場合にNULLが入るようにしたいのですが、
制御ファイルの演算の後にNULLIF ・・・をいれると以下のようなエラーがでてしまいます。

SQL*Loader-350: 行20に構文エラーがあります。
"、"または")"ではなくキーワードnullifが見つかりました。
, time "TO_DSINTERVAL('0 00:' || :time) NULLIF time=BLANKS
                      ^

time列のデータ型は、INTERVAL DAY TO SECOND(1)です。
制御ファイルでは以下のように記述しています。

INTO TABLE test.t_test
REPLACE
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
( test_id
time "TO_DSINTERVAL('0 00:' || :time) NULLIF time=BLANKS )

NULLIF・・・を"TO_INTERVAL・・・"の前に書くと「間隔が無効です。」というエラーになります。
このような場合、どのように記述したらよいでしょうか?
また、この方法以外に空白のみの項目があった場合NULLが入るようにする方法が
ありましたら、教えていただければと思います。

よろしくお願い致します。
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 17 2012
Added on Jan 19 2012
2 comments
6,041 views