首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何裁剪SQL Loader ctl文件中列数据的换行符

如何裁剪SQL Loader ctl文件中列数据的换行符
EN

Stack Overflow用户
提问于 2016-04-21 17:18:55
回答 2查看 6.2K关注 0票数 2

我的表数据包含正在从sql加载器ctl文件加载的新行字符,名为‘IPADDRESS’的列正在使用新行字符加载:

我的ctl文件:

代码语言:javascript
运行
复制
 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:

代码语言:javascript
运行
复制
Make CUST_ID        IPADDRESS 
------------------------------
C   MPG-VG-ALG01    "9.7.69.37
"
C   MPG-VG-ALG03    "9.7.69.39
"

输入文件数据示例:

代码语言:javascript
运行
复制
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
EN

回答 2

Stack Overflow用户

发布于 2016-04-21 19:14:35

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

票数 1
EN

Stack Overflow用户

发布于 2021-06-14 00:31:55

是的,一种选择是使用REPLACE()函数,但需要添加更多;

  • 为字符串添加换行符任何数据类型,即使它的类型为CHR(13)(carriage return)
  • don't CHR(10)(换行符)也与CHR(13)(carriage return)
  • don‘t一起忘记添加嵌套在REPLACE()中的函数以防止额外的问题使用第三个参数的
  • 是多余的<代码>H217<代码>F218

比如

代码语言:javascript
运行
复制
column_name CHAR(4000) "REPLACE(TRIM(:'||column_name||'),CHR(13)||CHR(10))"'

此外,

代码语言:javascript
运行
复制
column_name CHAR(4000) "TRANSLATE(TRIM(:'||column_name||'),CHR(13)||CHR(10),' ')"' 

可能会被用作替代方案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36765152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档