oracle中字段类型varchar2最大长度是多少?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了oracle中字段类型varchar2最大长度是多少?相关的知识,希望对你有一定的参考价值。

参考技术A

4000字节长度。

比如,varchar2(100),就相当于varchar2(100 byte),表示最大字节数是100,该字段最多能容纳100个字节,强调空间大小。

由于我们描述的是字节,因此,保存汉字等字符时,如果数据库用的是GBK编码,那么一个汉字将占用2个字节,最多能存50个汉字,如果你的数据库用的是UTF8编码,那么一个汉字将占用3个字节,最多能存33个汉字。

扩展资料:

实际应用中,很可能会出现这种写法:varchar2(1400char),这个字段最长不能超过1400个字符,可能会存入1399个字符。

但是,如果这1399个字符都是汉字,字符长度并没有超过1400,但实际上损失了一部分数据。

因为1399个汉字,按UTF8编码来说,需要占用1399*3=4197个字节,而最大长度就是4000字节,一个也不能多,因此多出来的197个字节,都会抹去,而整个过程中,无任何错误提示。

对于GBK编码的数据库而言,安全的写法为:varchar2(2000 char)、nvarchar2(2000)。

对于UTF8编码的数据库而言,安全的写法为:varchar2(1333char)、nvarchar2(2000)。

ORACLE常用数据库字段类型

ORACLE常用数据库字段类型

 
常用的数据库字段类型如下:
 
字段类型 中文说明 限制条件 其它说明 
CHAR 固定长度字符串 最大长度2000 bytes    
VARCHAR2 可变长度的字符串 最大长度4000 bytes  可做索引的最大长度749 
NCHAR 根据字符集而定的固定长度字符串 最大长度2000 bytes    
NVARCHAR2 根据字符集而定的可变长度字符串 最大长度4000 bytes    
DATE 日期(日-月-年) DD-MM-YY(HH-MI-SS) 经过严格测试,无千虫问题 
LONG 超长字符串 最大长度2G(231-1) 足够存储大部头著作 
RAW 固定长度的二进制数据 最大长度2000 bytes  可存放多媒体图象声音等 
LONG RAW 可变长度的二进制数据 最大长度2G 同上 
BLOB 二进制数据 最大长度4G   
CLOB 字符数据 最大长度4G   
NCLOB 根据字符集而定的字符数据 最大长度4G   
BFILE 存放在数据库外的二进制数据 最大长度4G   
ROWID 数据表中记录的唯一行号 10 bytes ********.****.****格式,*为0或1 
NROWID 二进制数据表中记录的唯一行号 最大长度4000 bytes 
NUMBER(P,S) 数字类型 P为整数位,S为小数位 
DECIMAL(P,S) 数字类型 P为整数位,S为小数位 
INTEGER 整数类型 小的整数 
FLOAT 浮点数类型 NUMBER(38),双精度 
REAL 实数类型 NUMBER(63),精度更高

以上是关于oracle中字段类型varchar2最大长度是多少?的主要内容,如果未能解决你的问题,请参考以下文章

Oracle LOB类型

Orcal数据类型总结

ORACLE常用数据库字段类型

oracle中clob可以转成varchar2吗

如何调整oracle中的sql语句输入的最大长度

Oracle二维表管理:约束