我的表数据包含从sql loader ctl文件加载的新行字符,一行名为'IPADDRESS',用新行字符加载:
我的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)"
)
表格存储中的数据是Ex:
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
答案 0 :(得分:0)
我的问题的答案是:column_name "REPLACE(:column_name,CHR(13),'')";
答案 1 :(得分:0)
是的,一种选择是使用 REPLACE()
函数,但需要添加更多;
CHAR(data_length)
任何数据类型,即使它是 VARCHAR2
类型TRIM()
中的 REPLACE()
函数以防止额外
也有问题比如
column_name CHAR(4000) "REPLACE(TRIM(:'||column_name||'),CHR(13)||CHR(10))"'
此外
column_name CHAR(4000) "TRANSLATE(TRIM(:'||column_name||'),CHR(13)||CHR(10),' ')"'
可以用作替代。