通过SQL Loader控制文件丢弃包含CSV中空字符串的行

时间:2018-01-16 10:43:34

标签: oracle12c sql-loader controlfile

我正在尝试上传CSV,该CSV可能/可能不包含行中列的空值。 我想丢弃通过SQL Loader上传到DB的包含空值的行。

如何在ctrl文件中处理:

我在ctl文件中尝试过以下条件:

when String_Value is not null

when String_Value <> ''

但行仍在插入

1 个答案:

答案 0 :(得分:0)

这对我来说很有用'<>''!='。我怀疑这些条款的顺序对你不正确。注意colc(也是数据文件中的第三列)与表中的列名匹配。

load data 
infile 'c:\temp\x_test.dat'
TRUNCATE
into table x_test
when colc <> ''
FIELDS TERMINATED BY ','
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS 

(
    cola char,
    colb char,
    colc char,
    cold integer external
)