暂无图片
Oracle的VARCHAR2在建表的时候最大存4000 bite,为什么在存储过程里面可以存32767?
我来答
分享
豆豆
2022-03-02
Oracle的VARCHAR2在建表的时候最大存4000 bite,为什么在存储过程里面可以存32767?

Oracle的VARCHAR2在建表的时候最大存4000 bite,为什么在存储过程里面可以存32767?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新
吾喾

SQL参考手册中也明确指出VARCHAR2的最大大小为4000,注意此处的最大长度是指字节长度,而不是指字符个数。这个跟参数NLS_LENGTH_SEMANTICS有一定关系。

The maximum size of a CHAR or VARCHAR2 variable is 32,767 bytes, whether you specify the maximum size in characters or bytes.

暂无图片 评论
暂无图片 有用 0
DarkAthena

这是个规则,它想怎么定就怎么定
https://dba.stackexchange.com/questions/88742/why-is-there-a-difference-in-the-character-limit-for-varchar2-in-sql-and-pl-sql

然后,从12c版本开始,可以通过调整系统参数max_string_size,来使varchar2字段扩充到最大32767的长度

alter system set max_string_size=extended scope=both;
暂无图片 评论
暂无图片 有用 0
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏