【问题标题】:Does DB2 honour maximum length of data type?DB2 是否尊重数据类型的最大长度?
【发布时间】:2016-06-24 09:07:16
【问题描述】:

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 SQL 状态:42611 错误代码:-604

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

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

同样,对于 CHAR,我无法使用 char(255) 创建表

【问题讨论】:

    标签: db2 db2-luw


    【解决方案1】:

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

    在值压缩、NULL 值等方面还有一些细节会影响列大小和行大小。

    【讨论】:

      猜你喜欢
      • 2021-12-23
      • 2012-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      • 2020-01-05
      相关资源
      最近更新 更多