Oracle中varchar2 nvarchar2
VARCHAR2(size),可變長度的字符串,其最大長度為 size 個字節。size 的最大值是 4000,而最小值是 1。您必須指定一個 VARCHAR2 的 size.
NVARCHAR2(size),可變長度的字符串,依據所選的國家字符集,其最大長度為 size 個字符或字節。size 的最大值取決於存儲每個字符所需要的字節數,其上限為 4000 個字節。您必須為 NVARCHAR2 指定一個 size。
二者的主要區別,在於NVARCHAR2 與所選的字符集相關.
NVARCHAR2 (size)測試如下:
測試環境:
測試數據庫字符集: 通過SIMPLIFIED CHINESE_CHINA.ZHS16GBK得到為:
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
表table1中存在字段titile, 類型為:nvarchar(50),
該字段內容為:1000多字長短信測試
執行測試sql: select lengthb(title) from table1
得出結果:title的長度是22
由此可知字段title中 一個漢字 跟一個英文數字 一樣占兩個字節.也就是說在SIMPLIFIED CHINESE_CHINA.ZHS16GBK這個字符集下, NVARCHAR2(size) 的size的最大值為4000/2=2000,最多可存貯2000個字符.
通過相同方式的測試可知: varchar2(size) 中每個中文漢字占2個字節,英文數字或者字母占一個字節,所以varchar2(size)中 size的最大值可以為4000