char和varchar2的區別?
1、長度上的區別
CHAR的長度是固定的,VARCHAR2的長度是可以變化的。
例如,存儲字符串“abc",對于CHAR (20),表示存儲的字符占20個字節,而同樣的VARCHAR2 (20)就只占3個字節的長度,20只是最大值,而且當存儲的字符小于20時,按實際的長度來存儲。
2、意義上的區別
VARCHAR是VARCHAR2的同義詞,工業標準的VARCHAR類型可以用來存儲空字符串,但是Oracle自己開發了一個數據類型VARCHAR2,這個類型不是一個標準的VARCHAR,它在數據庫中varchar列可以存儲空字符串的特性改為存儲NULL值。
3、空間大小上的區別
VARCHAR2比CHAR要節省空間,VARCHAR2在效率上也比CHAR差一些,所以如果想獲得效率,就必須犧牲一定的空間,這就是在數據庫設計上常說的‘以空間換效率’。
VARCHAR2雖然比CHAR節省空間,但如果一個VARCHAR2列經常被修改,且每次被修改數據的長度不同會引起‘行遷移’現象。
下一篇想應聘淘寶云客服