Условие в SQL * Загрузчик может быть выполнен с использованием decode
.
Использование DECIMAL
в вашем примере приведет к ошибке:
SQL*Loader-402: Unable to determine length of column COL1 from specification
Рекомендуется использовать DECIMAL EXTERNAL
вместо:
LOAD DATA
INFILE 'table_with_one_million_rows.dat'
INTO TABLE TABLE_WITH_ONE_MILLION_ROWS
FIELDS TERMINATED BY ','
TRAILING NULLCOLS
(
COL1 DECIMAL EXTERNAL
, COL2 DECIMAL EXTERNAL "decode(:COL2, 'X', '1', '0')"
, COL3 CHAR
)