DB2是否尊重数据类型的最大长度?

时间:2016-06-24 09:07:17

标签: db2 db2-luw

DB2详细信息:

  • 产品名称:DB2 / LINUXX8664
  • 版本:10.5.0.5

根据DB2文档,varchar的最大长度为 32704字节

我试过了:

create table t_varchar (c1 varchar(32673));

得到错误:

  

错误:DB2 SQL错误:SQLCODE = -604,SQLSTATE = 42611,SQLERRMC = varchar(32673),DRIVER = 4.14.111   SQLState:42611   ErrorCode:-604

它允许我创建最大长度为32672的varchar。

这是期望的行为还是我做错了什么?

Simlilarly,对于CHAR,我无法使用char(255)

创建表格

1 个答案:

答案 0 :(得分:3)

您遗漏了默认表空间和页面大小的详细信息,因此我假设您使用的是默认值。最大行大小记录为CREATE TABLE的一部分。您正在使用的varchar大小仅适用于32k页面,而不是默认页面大小。所以我希望这个错误信息。

还有一些有关列大小和行大小的值压缩,NULL值等方面的详细信息。