sqlloader匯入含有回車的字元資料

flzhang發表於2015-09-28

用Excel上傳資料,其中有欄位中有回車符
比如如下資料

項軍 lj01.xiang "xlj5198
"
項軍 l01.iang "xlj5198
"
柳珂 zhike01.liu liuzhikehhp
項軍 lj01.xiang "xlj5198
"
利軍 lj01.xiang "xlj5198
"
利軍 lj01.xiang "xlj5198
"
利軍 lj01.xiang "xlj5198
"
項利 lj01.xiang "xlj5118
"
利軍 lj01.xiang "xlj51988
" 可以先找出有回車符的欄位,去掉回車符,再用sqlloader匯入到資料庫
找出回車符欄位方法,存成txt,在txt裡找有””號的資料,這行資料是分兩行表示在txt的。然後在excel裡用如下三種方法都可以去掉回車符
方法1:查詢替換,查詢-格式選項裡勾選自動換行,替換-格式裡勾選自動換行;
方法2:=SUBSTITUTE(單元格引用,CHAR(10),)
方法3:=CLEAN(單元格引用)
最簡單的方法是方法3
這裡使用方法3把excel先轉換成txt檔案,
一般步驟
找出含有回車的資料,比如這裡找到第三列的資料中很多都有回車,如C1,C10,C20...
在C列旁邊新建一列,在該列中直接輸入=CLEAN(D1)
拖動D1單元格,使D1中的公式全部應用到當前列
最後把D列中公式表達的資料複製到C列,並覆蓋C列資料
刪除D列資料
再另存excel的資料到txt檔案
這樣就可以直接用sqlloader匯入txt的資料到資料庫了

 sqlload的控制檔案指令碼

load data
infile 'e:/mydata/20150511/data.txt'

REPLACE
into table schema.UP_0928

fields terminated by X'09' 
TRAILING NULLCOLS
(
 col1
 ,col2
 ,col3

)

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/750077/viewspace-1810996/,如需轉載,請註明出處,否則將追究法律責任。

相關文章