gpt4 book ai didi

sql loader 总是截断第一列

转载 作者:行者123 更新时间:2023-12-04 21:29:56 25 4
gpt4 key购买 nike

我用的是oracle 10g,我有这个file.ctl

OPTIONS (SKIP=1)
LOAD DATA
INFILE '/home/gxs/segmentation/sqlloader/datos.csv'
APPEND INTO TABLE test
(id "s_test.nextval",
name char(10) TERMINATED BY ',' ,
tel char(20) TERMINATED BY ',' ,
apellido char(10) TERMINATED BY ',' )

我的csv文件是

name,tel,apellido
daniel,12345,buitrago
cesar,98765,san
alex,4556,ova

但是当看到表格时名字没有第一个字符:

id   name   apellido   tel
1 aniel buitrago 12345
2 esar san 98765
3 lex ova 4556

做什么?

最佳答案

根据 documentation, you need to use the EXPRESSION keyword显示该值纯粹来自指定的表达式并且不依赖于数据文件中的任何内容:

OPTIONS (SKIP=1)
LOAD DATA
INFILE '/home/gxs/segmentation/sqlloader/datos.csv'
APPEND INTO TABLE test
(id EXPRESSION "s_test.nextval",
name char(10) TERMINATED BY ',' ,
tel char(20) TERMINATED BY ',' ,
apellido char(10) TERMINATED BY ',' )

... 插入:

        ID NAME       TEL        APELLIDO
---------- ---------- ---------- ----------
1 daniel 12345 buitrago
2 cesar 98765 san
3 alex 4556 ova

目前它假设 ID 是您数据文件中的一个字段,并且由于您没有指定数据类型,它是 defaulting to charsize 1 ,它正在消耗您真正的第一个字段的第一个字符。

关于sql loader 总是截断第一列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18950166/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com