标签:
杂谈 |
分类: Oracle |
应用场景:
需求是把文件中数据的空格去掉后加载入库
当我们的input file 有分隔符时,control file 中的 PRESERVE BLANKS 无效,因为 SQLLDR这时是保留空格的,这个时候只能在control file中针对每个字段做trim处理。
当我们的input file 是定长时,
以下为control file 例子。
--目标表结构
--定长情况控制文件
load data infile '/home/a.dat'truncatePRESERVE BLANKSintotable cc ( a POSITION(1:5), b POSITION(6:11), d POSITION(12:13) )
--定长情况数据文件
aaa bbb cc abcd bcde aa
--竖线分割情况数据文件
aaa|bbb |cc abcd|bcde|aa
--竖线分割情况控制文件
load data infile '/a.dat'truncate into table cc fields terminated by '|' ( a "trim(:a)", b "trim(:b)", d "trim(:d)" )