为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: DM8
【操作系统】:麒麟10专用机
【CPU】:飞腾
【问题描述】*:
初始化库是页大小是32K;
创建表中字段varchar(32767)报数据精度超出范围:
create table ALM.TEST(TEST VARCHAR(32767));
你好,varchar存储最大长度是页大小的一半
如果页是16kb,varchar最大8000
页大小是8kb,对于常规数据类型,一行记录最多3900
页大小是32kb,对于常规数据类型,一行记录最多8188
也就是说上限是8188,32K也就比16K多了188
如果是在管理工具中创建的varchar类型,可以允许你填很大,当然也是有上限的,不过实际存储还是按照页大小的一半来计算的
select ‘页大小’,page()/1024||‘KB’;–查当前数据库页大小,初始化时设置的,不能修改,只能重新初始化数据库
还有一点要注意,这个长度限制,针对的是一行记录,不是单个字段
你改成8000试试