首先須要強調下 Oracle 的數據庫字符集屬性會影響字符類型的容量, 能夠經過執行該 sql select userenv('language') from dual;
查看 Oracle 的數據庫字符集.sql
16-bit
的,那麼每一個字符佔16位,也就是2字節.32-bit
的,那麼每一個字符佔32位,也就是4字節.Tips:數據字符集不一樣的狀況下進行數據遷移,可能會出現長度異常的問題.數據庫
示例:
char(5)
表示該字段的數據類型爲char
,可存在5個字節長度的字符,不足則自動空格填充,也就是你若是存入一個字符"A",自動會在後面加上4個空格,讀取出來會變成"A空格空格空格空格"編碼
最大長度爲4000.code
示例:
varchar2(50)
標識該字段的數據類型爲varchar
,可存放單個字節長度的字符50個,好比英文/數字,但一個漢字佔2個字節長度(受數據庫字符集影響).ip
最大長度爲2000.it
示例:
nvarchar(50)
表示該字段的數據類型爲nvarchar
,可存放單個字節長度的字符50個,不論字符是漢字/英文/數字都只佔1個字節長度(受數據庫字符集影響).select