1、varchar2最大可以存储4000个字节,也就是最大只能写成varchar2(4000);
2、创建表
create table T_TEST
(
ID VARCHAR2(32) not null,
TEST_VARCHAR2 VARCHAR2(4000),
USERNAME VARCHAR2(6)
)
3、向TEST_VARCHAR2 字段插入2000个汉字(多加一个字母就会报错),由于字数过篇幅长,这里省略部分字符。
insert into t_test
(id, test_varchar2)
values
('2',‘这里写入2000个中文汉字’)
4、查询长度和字节长度
select length(test_varchar2),lengthb(test_varchar2) from t_test ;
5、插入4000个字母,再次查询长度和字节长度
结论,varchar2 能存储 2000个汉字和4000个字母。
6、网上搜到说一个汉字站三个字节,这与数据库的字符编码有关,我本地使用的是GBK,16位,一个汉字站两个字节,若使用utf-8,32位 则会出现一个汉字占3个字节(此处为做试验,这里引入参考文章的路径http://a498740995.iteye.com/blog/1610172)
7、扩展ORACLE nvarchar2和varchar2的区别
Oracle中nvarchar2和varchar2的共同点: