从CSV导入Db2会删除varchar前导零

3pmvbmvn  于 2022-11-07  发布在  DB2
关注(0)|答案(2)|浏览(232)

我尝试使用db2 import命令将数据从CSV导入DB2数据库。
在CSV中,我有如下数据:

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

在db2数据库中,我有一个表PERSON,它的列NUMBER VARCHAR(255),NAME VARCHAR(255)。
当我用db2导入时,导入从“C:\UTILS\export.csv”的DEL插入到人
它只导入了记录1和2,但是记录3被拒绝为重复。2就像导入命令删除了前导零一样,这是不应该发生的。
有人知道如何使db2import命令在导入VARCHAR列时不去掉前导零吗?

xt0899hw

xt0899hw1#

只有当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
kmbjn2e3

kmbjn2e32#

问题解决了。文件被数据库管理员用Excel保存,它会删除前导零...无论如何谢谢。

相关问题