1.char的長度是固定的,而varchar2的長度是可以變化的, 比如,儲存字串「abc",對於char (20),表示你儲存的字元將佔20個位元組(包括17個空字元),而同樣的varchar2 (20)則只占用3個位元組的長度,20只是最大值,當你儲存的字元小於20時,按實際長度儲存。
2.char的效率比varchar2的效率稍高。
3.目前varchar是varchar2的同義詞。工業標準的varchar型別可以儲存空字串,但是oracle不這樣做,儘管它保留以後這樣做的權利。oracle自己開發了乙個資料型別varchar2,這個型別不是乙個標準的varchar,它將在資料庫中varchar列可以儲存空字串的特性改為儲存null值。如果你想有向後相容的能力,oracle建議使用varchar2而不是varchar。
何時該用char,何時該用varchar2?
char與varchar2是一對矛盾的統一體,兩者是互補的關係.
varchar2比char節省空間,在效率上比char會稍微差一些,即要想獲得效率,就必須犧牲一定的空間,這也就是我們在資料庫設計上常說的『以空間換效率』。
varchar2雖然比char節省空間,但是如果乙個varchar2列經常被修改,而且每次被修改的資料的長度不同,這會引起『行遷移』(row migration)現象,而這造成多餘的i/o,是資料庫設計和調整中要盡力避免的,在這種情況下用char代替varchar2會更好一些。(王朝網路 wangchao.net.cn)
oracle中的資料型別
字段型別 中文說明 限制條件 其它說明 char 固定長度字串 最大長度2000 bytes varchar2 可變長度的字串 最大長度4000 bytes 可做索引的最大長度749 nchar 根據字符集而定的固定長度字串 最大長度2000 bytes nvarchar2 根據字符集而定的可變長度...
ORACLE中的資料型別
char 固定長度字元域,最大長度可達2 000 個位元組 nchar 多位元組字符集的固定長度字元域,長度隨字符集而定,最多為2 000個字元或2 000個位元組 varchar2 可變長度字元域,最大長度可達4 000 個字元 nvarchar2 多位元組字符集的可變長度字元域,長度隨字符集而定...
Oracle中的資料型別
oracle 8 資料型別 資料型別 引數描述 char n n 1 to 2000位元組 定長字串,n位元組長,如果不指定長度,預設為1個位元組長 乙個漢字為2位元組 varchar2 n n 1 to 4000位元組 可變長的字串,具體定義時指明最大長度n,這種資料型別可以放數字 字母以及asc...