1,VARCHAR2
(size
[BYTE
| CHAR
])
12C中参数MAX_STRING_SIZE默认值为
STANDARD
,varchar2的最大值为4000 byte。varchar2后面有BYTE
和CHAR
两种语义,默认语义是BYTE。BYTE是按字节算长度,CHAR是按字符算长度,一个字符占用的字节与字符集有关,比如定义一列为varchar2(3 char),那么这列可以插入 'abc' 或者 '数据库' 这样的三个字符,'abc'占3个字节 , '数据库' 占9个字节,但却无法插入 'abcd' 四个字符的数据。因此,当使用char语义、n-bytes 字符集时,最大值为floor(4000/n);常用的字符集中一个字符不会超过4字节,因此定义char语义时大小尽量不要超过floor(4000/4)=1000。
数据类型 | 描述 |
VARCHAR2 (size [BYTE | CHAR ]) |
Variable-length character string having maximum length 1)32767 bytes or characters if 2)4000 bytes or characters if
|