ORACLE中的varchar2()与nvarchar2()的讲解
?Oracle中NVARCHAR2和VARCHAR2的區別?
【轉】NVARCHAR2和VARCHAR2的區別,從使用角度來看區別在于:NVARCHAR2在計算長度時和字符集相關的,例如數據庫是中文字符集時以長度10為例,則?
1、NVARCHAR2(10)是可以存進去10個漢字的,如果用來存英文也只能存10個字符。?
2、而VARCHAR2(10)的話,則只能存進5個漢字,英文則可以存10個?
CHAR固定長度字符域,最大長度可達2000個字節?????
? NCHAR多字節字符集的固定長度字符域,長度隨字符集而定,最多為2000個字符或2000個字節?????
? VARCHAR2可變長度字符域,最大長度可達4000個字符?????
? NVARCHAR2多字節字符集的可變長度字符域,長度隨字符集而定,最多為4000個字符或4000個字節?
何時該用CHAR,何時該用varchar2??
? CHAR與VARCHAR2是一對矛盾的統一體,兩者是互補的關系.?
? VARCHAR2比CHAR節省空間,在效率上比CHAR會稍微差一些,即要想獲得效率,就必須犧牲一定的空間,這也就是我們在數據庫設計上常說的‘以空間換效率’。?
? VARCHAR2雖然比CHAR節省空間,但是如果一個VARCHAR2列經常被修改,而且每次被修改的數據的長度不同,這會引起‘行遷移’(Row Migration)現象,而這造成多余的I/O,是數據庫設計和調整中要盡力避免的,在這種情況下用CHAR代替VARCHAR2會更好一些。?
.nvarchar/nvarchar2?
nvarchar和nvarchar2是長度不固定的?
nvarchar不區分中英文,比如說:你定義了nvarchar(20),你可以存入20個英文字母/漢字或中英文組合,這個20定義的是字符數而不是字節數?
nvarchar2基本上等同于nvarchar,不同在于nvarchar2中存的英文字母也占兩個字節?
nvarchar/nvarchar2適用于存放中文?
轉載于:https://www.cnblogs.com/fushou/p/7387923.html
總結
以上是生活随笔為你收集整理的ORACLE中的varchar2()与nvarchar2()的讲解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: http://offlineinstal
- 下一篇: 【机器学习】异常检测算法(I)