暂无图片
sqlload字符截取问题
我来答
分享
Asky
2023-03-24
sqlload字符截取问题

我在加载的时候想对字符进行截取,好像不生效,请问大家如何编写呢?

控制文件是这样的:

Load DATA
LENGTH SEMANTICS CHARACTER
INFILE '/tmp/mytest.txt'
truncate into table tb_test01
FIELDS TERMINATED BY "€"
TRAILING NULLCOLS
(
id
,name CHAR(30) "substr(:name,1,30)"
)

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
DarkAthena

用 substrb函数 ,虽然这样可能导致最后一个字乱码哈

暂无图片 评论
暂无图片 有用 0
打赏 0
暂无图片
Thomas

CHAR(30) "substr(:name,1,30)" 这部分能这么写吗?有个变通的办法:你用SQLOADER时,不要截取字符,原原本本导入,建表时把NAME宽度设大写,比如varchar2(1000),那么导入时简单写(id,name)即可。导完后,在oracle里update ... set name = substr(1,30), 这样好处理些。

暂无图片 评论
暂无图片 有用 0
打赏 0
Asky

知道原因了,自己弄错了。

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交