2016-04-21 63 views
0

我的表数据包含从sql加载程序ctl文件加载的新行字符,名为'IPADDRESS'的一列用新行字符加载:如何在SQL加载程序的ctl文件中修整列数据的新行字符

我的CTL的文件:

load data 
INFILE 'abc.txt' 
INTO TABLE TABLENAME 
APPEND 
FIELDS TERMINATED BY '\|' 
(MAKE, 
CUST_ID "UPPER(:CUST_ID)", 
IPADDRESS "REGEXP_REPLACE(:IPADDRESS, '\\.\\D+', '', 1, 0)" 
) 

数据在表存储是例如:

Make CUST_ID  IPADDRESS 
------------------------------ 
C MPG-VG-ALG01 "9.7.69.37 
" 
C MPG-VG-ALG03 "9.7.69.39 
" 

样本输入文件数据:

C|mpg-vg-alg01.gdl.mex.ibm.com|9.7.69.37 
C|mpg-vg-alg03.gdl.mex.ibm.com|9.7.69.39 
C|mpg-vg-alg04.gdl.mex.ibm.com|9.7.69.23 
+1

您可以通过替换'CHAR(13)'或'CHAR(10)更换新的生产线,或回车'如:REPLACE(REPLACE( '列的值', CHAR(13),''),CHAR(10),'')...或者你可以在正则表达式中替换它 –

+0

这个逻辑不起作用 – Chaya

+0

给我一个输入数据的样本请 –

回答

0

回答我的问题是:column_name "REPLACE(:column_name,CHR(13),'')";

相关问题