频道栏目
首页 > 资讯 > 其他综合 > 正文

VARCHAR2的最大长度是32767还是4000?(答案)

18-02-07        来源:[db:作者]  
收藏   我要投稿

VARCHAR2的最大长度是32767还是4000?

截止目前的答案应该是这样的:

1.PLSQL环境中VARCHAR2变量类型的最大长度是32767个字节;

2.Oracle12c之前的版本,最大长度是4000个字节;

3.Oracle12c通过设置初始化参数MAX_SQL_STRING_SIZE为EXTENDED可以支持到32767个字节。

可以通过几个测试观察一下VARCHAR2变量类型的特性:

1.Oracle的表字段类型最大支持到VARCHAR2(4000)

2.在PLSQL环境下申明变量时可以用到VARCHAR2(32767),但是赋值时实际最大只有4000

3.4000是指字节,如果是N字节的字符,最大可填充4000/N个字符。

比如GBK汉字占2个字符,就只能放2000个汉字。

4.VARCHAR2变量可以带字符(CHAR)或字节(BYTE)限定词,默认是由初始化参数NLS_LENGTH_SEMANTICS决定的

5.CHAR和BYTE限定词的作用,变量按字节统计(lengthb)的容量CHAR是BYTE的N倍(取决于数据库字符集)

这个代码中,V0最多只能容下1000个中文字,但是将2000个中文字赋值给它,没有报错,只是截取了前1000个中文字;如果将2001个中文字赋值给V0,就会报错了,因此赋值时的语法分析只是判断了长度,并没有判断字符集的影响。

相关TAG标签
上一篇:解决win7和虚拟机中文件共享的问题
下一篇:用kubeadm在Red Hat 7/CentOS 7快速部署Kubernetes 1.7详情
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站