ORACLE中的VARCHAR2数据类型

时间:2018-08-15 05:05:27

标签: oracle varchar2

我对oracle还是很陌生,今天我发现了有关数据类型 VARCHAR2 的信息,我想了解更多有关它的信息,并在遇到问题的Google上搜索Google。

我浏览了有关数据类型的几篇文章,并且发现了对 VARCHAR2 的一些相反的描述。

说明1:

  • 使用VARCHAR2列创建表时,请指定最大值 1到2000之间的列长度(以字节为单位,不是字符) VARCHAR2列(article

说明2:

  • 在VARCHAR2列中最多可以存储4000个字符。 (article

如您所见,这有点令人困惑。 VARCHAR2 是要指定最大列长还是最大字符长?有人请告诉我哪个是正确的?

3 个答案:

答案 0 :(得分:4)

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

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

此外,最大长度为4000字节,不能为字符。即使您声明VARCHAR2(4000 CHAR),该列也不能存储超过4000个字节。如果全部为单字节,它将存储4000个字符,否则将存储少于4000个字符。

答案 1 :(得分:0)

说明2:

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

这是正确的

VARCHAR2数据类型存储长度可变的字符串。当您使用VARCHAR2列创建表时,请为最大字符串长度(以字节或字符为单位)在1到4000字节之间 VARCHAR2列。

答案 2 :(得分:0)

=> varchar2数据类型与varchar数据类型相同。 =>具有可变长度的数据类型。     例如“名称varchar2(20)”并传递名称的值为“ Ram”,因此,LENGTH(名称)为3 NOT 20。 =>其内部数据类型仅由oracle服务器管理。 =>即使您声明varchar oracle隐式转换为varchar2