我的表数据包含正在从sql加载器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
发布于 2016-04-21 19:14:35
我的问题的答案是:column_name "REPLACE(:column_name,CHR(13),'')";
发布于 2021-06-14 00:31:55
是的,一种选择是使用REPLACE()
函数,但需要添加更多;
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),' ')"'
可能会被用作替代方案。
https://stackoverflow.com/questions/36765152
复制相似问题