首页 > 技术文章 > oracle sqlldr (二) 制表符为分隔符的两种对比

xuzhong86 2017-10-08 22:11 原文

--这里主要检验以制表符为分隔符的数据
LOAD
DATA INFILE * INTO TABLE DEPT2 INSERT FIELDS TERMINATED BY WHITESPACE (DEPTNO, DNAME, LOC char(1000) ) BEGINDATA 10 Sales Virginia 20 Accounting Virginia 30 Consulting Virginia 40 Finance Virginia --这里的数据其实有两个制表符的(实际可以自行删除制表符后再增加,确保正确) --下面来看看 --TERMINATED BY X'09'(使用十六进制的制表符)

 这里dname为空了。原因是一旦sqlldr遇到一个制表符,就会输出一个值(实际输出为:10,null,sales,null,virginia)


--TERMINATED BY WHITESPACE

使用WHITESPACE加载正常

 

---在加载数据时你也可以跳过几列(filler)

------demo.ctl 
LOAD DATA
INFILE *
INTO TABLE DEPT2
INSERT
FIELDS TERMINATED BY WHITESPACE
(DEPTNO,ad filler, DNAME,a2 filler, LOC char(1000) )
BEGINDATA
10 Sales Virginia
20 Accounting Virginia
30 Consulting Virginia
40 Finance Virginia


 

推荐阅读