首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ORACLE中的VARCHAR2数据类型

ORACLE中的VARCHAR2数据类型
EN

Stack Overflow用户
提问于 2018-08-15 05:05:27
回答 3查看 1.4K关注 0票数 2

我对甲骨文非常陌生,今天我发现了数据类型VARCHAR2,我想了解更多关于它的知识,并搜索我遇到问题的数据类型。

我已经读过几篇关于数据类型的文章,我发现了一些与VARCHAR2直接相反的描述。

描述1:

  • 创建带有VARCHAR2列的表时,可以为VARCHAR2列(文章)指定1到2000之间的最大列长度(以字节为单位,而不是字符)。

描述2:

  • 您可以在VARCHAR2列中存储多达4000个字符。(文章)

正如你所看到的,这有点令人困惑。VARCHAR2是指定最大列长度还是最大字符长度?谁能解释一下哪一个是正确的?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-08-15 05:14:52

这取决于您的Oracle版本,但这两篇文章大多都不正确。

在声明列时,可以显式地将指定的长度声明为字节或字符,也可以隐式地使用会话的默认值。

而且,最大长度是4000字节,而不是字符。即使声明VARCHAR2(4000 CHAR),列也不能存储超过4000个字节。如果所有字符都是单字节,它将存储4000个字符,否则它将存储少于4000个字符。

票数 4
EN

Stack Overflow用户

发布于 2018-08-15 05:12:37

说明2:

  • 您可以在VARCHAR2列中存储多达4000个字符。

这是正确的

VARCHAR2数据类型存储可变长度的字符串。当创建具有VARCHAR2列的表时,可以为VARCHAR2列指定最大字符串长度(以字节或字符为单位)(1到4000字节)。

票数 1
EN

Stack Overflow用户

发布于 2019-08-30 14:29:25

=> varchar2数据类型与varchar数据类型相同。=>的数据类型与可变长度。例如。“名称varchar2( 20 )”并传递名称的值是"Ram“所以,长度(名称)是3而不是20。=>的内部数据类型仅由oracle管理。=>,即使您声明varchar oracle,也意味着将其转换为varchar2。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51853224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档