char和VARCHAR2主要的區別是什麼?

2021-10-04 17:08:37 字數 655 閱讀 9720

char的長度是固定的,而varchar2的長度是可以變化的, 比如,儲存字串「abc",對於char (10),表示你儲存的字元將佔10個位元組(包括7個空字元),而同樣的varchar2 (10)則只占用3個位元組的長度,10只是最大值,當你儲存的字元小於10時,按實際長度儲存。

char的效率比varchar2的效率稍高。

目前varchar是varchar2的同義詞。工業標準的varchar型別可以儲存空字串,但是oracle不這樣做,儘管它保留以後這樣做的權利。oracle自己開發了乙個資料型別varchar2,這個型別不是乙個標準的varchar,它將在資料庫中varchar列可以儲存空字串的特性改為儲存null值。如果你想有向後相容的能力,oracle建議使用varchar2而不是varchar。

char與varchar2是一對矛盾的統一體,兩者是互補的關係.

varchar2比char節省空間,在效率上比char會稍微差一些,即要想獲得效率,就必須犧牲一定的空間,這也就是我們在資料庫設計上常說的『以空間換效率』。

varchar2雖然比char節省空間,但是如果乙個varchar2列經常被修改,而且每次被修改的資料的長度不同,這會引起『行遷移』(row migration)現象,而這造成多餘的i/o,是資料庫設計和調整中要盡力避免的,在這種情況下用char代替varchar2會更好一些。

char和varchar2的區別

區別 1 char的長度是固定的,而varchar2的長度是可以變化的,比如,儲存字串 abc 對於char 20 表示你儲存的字元將佔20個位元組 包括17個空字元 而同樣的varchar2 20 則只占用3個位元組的長度,20只是最大值,當你儲存的字元小於20時,按實際長度儲存。2 char的效...

Oracle中char和varchar2的區別

1.char的長度是固定的,而varchar2的長度是可以變化的,比如,儲存字串 abc 對於char 20 表示你儲存的字元將佔20個位元組 包括17個空字元 在資料庫中它是以空格佔位的,而同樣的varchar2 20 則只占用3個位元組的長度,20只是最大值,當你儲存的字元小於20時,按實際長度...

關於char和varchar2的比較

char和varchar2比較 一些應注意的問題 關於char和varchar2的比較 char型別與char型或字元常量的比較,在比較時使用補齊空格的方式進行比較。varchar2型別與varchar2型別,char型和字元常量的比較,在比較時不補充空格,直接比較。create table tt ...