日付マスクと併用する場合、日付マスクはSQL文字列の後で評価されます。次のように指定されるフィールドがあるとします。
field1 DATE "dd-mon-yy" "RTRIM(:field1)"
SQL*Loaderの内部で次の文が生成され、挿入されます。
TO_DATE(RTRIM(<field1_value>), 'dd-mon-yyyy')
SQL文字列でDATE
フィールド・データ型を使用する場合、日付マスクが必要です。これは、SQL*Loaderで、DATE
パラメータの後の最初の引用符付き文字列が日付マスクであるとみなされるためです。たとえば、次のフィールド指定では、エラー(ORA-01821: 日付書式コードが無効です)が発生します。
field1 DATE "RTRIM(TO_DATE(:field1, 'dd-mon-yyyy'))"
この場合の簡単な解決策は、CHAR
データ型を使用することです。