ZHS16GBK字符集格式下,varchar2(size) 可以存儲 size/2個漢字 。也就是說varchar2(40)存儲20個漢字。
分析如下:
1,首先 varchar2(size)釋義:
可變長度的字符串,其最大長度為size個字節;size的最大值是4000,而最小值是1;你必須指定一個VARCHAR2的size;
--NVARCHAR2(size)可變長度的字符串,依據所選的國家字符集,其最大長度為size個字符或字節;size的最大值取決於儲存每個字符所需的字節數,其上限為4000;你必須指定一個NVARCHAR2的size;
2,檢查oracle數據庫所采用的字符集
考慮到不同的字符集所占用的大小會不一樣
select parameter, value from nls_database_parameters where parameter like 'NLS_CHARACTERSET';

ZHS16GBK
命名格式:<語言><bit><國家字符集>
中文,16位表示一個漢字(兩個字節表示一個漢字),漢字編碼字符集也經常說的國標
3,答案也就呼之欲出了
varchar2(40):40個字節長度的字符串類型
編碼格式:ZHS16GBK
所以:可以存儲20個漢字,40個英文字母,40個數字(0~9)