回覆列表
-
1 # 使用者1430558932451
-
2 # pietr49411
Oracle中nvarchar2和varchar2的區別:
1、NVARCHAR2中儲存中文字時,一箇中文字當一個字元來處理NVARCHAR2(10)是可以存進去10個漢字的,如果用來存英文也只能存10個字元。
2、而VARCHAR2中一箇中文字當兩個字元來處理VARCHAR2(10)的話,則只能存進5個漢字,英文則可以存10個Oracle中nvarchar2和varchar2的共同點:不定長儲存,當儲存資訊長度小於指定的長度,那麼就已實際存入的長度為準這一點不像varchar這種定長儲存那樣浪費空間,比如varchar 指定是10個字元,那麼存入5個字元的時候,他會自動填充空格來補齊以達到指定的長度
具體到NVARCHAR2和VARCHAR2的區別,從使用角度來看區別在於:NVARCHAR2在計算長度時和字符集相關的,例如資料庫是中文字符集時以長度10為例,則1、NVARCHAR2(10)是可以存進去10個漢字的,如果用來存英文也只能存10個字元。2、而VARCHAR2(10)的話,則只能存進5個漢字,英文則可以存10個。