Db2从CSV导入删除varchar前导零



我尝试使用DB2 import命令从CSV导入数据到DB2数据库。

在CSV中,我有这样的数据:

NUMBER,NAME
12345,aa
23456,bb
0012345,aa

在db2数据库中,我有一个表PERSON,列NUMBER VARCHAR(255), NAME VARCHAR(255)。在(NUMBER, NAME)列上有唯一约束。

当我导入db2 import FROM "C:UTILSexport.csv"INSERT INTO PERSON

只导入记录1和2,但记录3作为重复被拒绝。像前面的零被import命令截断,这是不应该发生的。

有人知道如何使db2导入命令不削减前导零时,导入VARCHAR列?

您所描述的效果可能只会发生,如果您有一些数字数据类型的NUMBER列,如INTEGER

-- somefile.sql contents
drop table test_imp;
create table test_imp 
(
number 
varchar (255)  -- comment out this line instead of the next one to get your error
--int 
not null
, name varchar (255) not null
, constraint test_imp_pk unique (number, name) 
);
import from export.csv of del replace into test_imp;

请将以下命令的结果显示为:

db2 -tvf somefile.sql -z somefile.sql.log

:

> cat export.csv
12345,aa
23456,bb
0012345,aa

问题解决。文件保存与Excel由db admin削减前导零…谢谢。

相关内容

  • 没有找到相关文章

最新更新