DB2数据库1个中文字符占3个varchar字符

时间:2021-06-15 06:31:24

今天在DB2数据库做数据插入时报错

       update com.ibm.db2.jcc.am.mo: 在 EXECUTE 或 OPEN 语句中的主变量值对于其相应的使用而言过大。. SQLCODE=-302, SQLSTATE=22001, DRIVER=3.58.81
Error saving data
Inserted 0 row(s)
Updated 0 row(s)
Deleted 0 row(s)

原因是超出字符长度,解决方法如下,

 

DB2数据库 版本 v9.5_linux

     数据库编码 UTF-8

 

DB2数据库

1个中文字符在表结构中占3个varchar字符

1个字符占一个varchar字符

1个数据占一个varchar字符

 

varchar(20)最多可以存放6个中文字符,再加2个字母或数据。

 

 

在Oracle数据库中一个中文字符就占2个varchar2字符,不知是DB2数据库编码的问题还是什么原因要占3个