SQLLDR 和 CTL 文件
有一个 CSV 文件要导入。
我想在我的 CTL 文件中指定仅在我的 CSV 文件的某个列中有一个空值时才插入到我的表中。EG 我只想上传没有终止日期的用户记录。
我尝试了各种选择
- 当 TERMINATIONDATE = ''
- 当 TERMINATIONDATE = ""
- 当 TERMINATIONDATE = null
- 当 TERMINATIONDATE = 'null'
它仅在我使用时有效
- 当 TERMINATIONDATE != '' 然后我得到所有已被终止的员工。但我想要相反的...
毕竟看起来不可能吗?
我的 CTL 文件
OPTIONS (SKIP=1)
LOAD DATA
INFILE 'C:\temp\users.csv'
BADFILE 'C:\temp\users.bad'
DISCARDFILE 'C:\temp\users.dsc'
TRUNCATE
INTO TABLE "alawakaba"."users"
When TERMINATIONDATE = ''
FIELDS TERMINATED BY '|'
OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
ID,
FIRSTNAME,
LASTNAME,
FUNCTION,
DEPARTMENT,
COSTCENTER,
HIREDATE,
Field8 FILLER,
TERMINATIONDATE,
LOCCODE
)
(第 8 列只是我不需要的,所以我跳过它)