實驗說明varchar2和char最大長度 引言
區別:
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會更好一些。
實驗說明varchar2和char最大長度
1.實驗說明varchar2最大長度:
sql> create table test3 (v2 varchar2(4001));
create table test3 (v2 varchar2(4001))
*error at line 1:
ora-00910: specified length too long for its datatype
可見4001個bite太大了
sql> create table test3 (v2 varchar2(4000));
table created.
可見varchar2的最大長度是4000bite。
2.實驗說明char最大長度:
sql> create table test2 (v2 char(2001));
create table test2 (c char(2001))
*error at line 1:
ora-00910: specified length too long for its datatype
可見4001個bite太大了
sql> create table test1 (c char(2000));
table created.
可見char的最大長度是2000bite。
varchar和varchar2還有char的區別
varchar,varchar2 聯絡 1.varchar varchar2用於儲存可變長度的字串 比如varchar 20 存入字串 abc 則資料庫中該字段只佔3個位元組,而不是20個位元組 2.size 的最大值是 4000,而最小值是 1,其值表示位元組數,比如 varchar 20 表示最...
char varchar和varchar2的區別
1 char的長度是固定的,而varchar2的長度是可以變化的,比如,儲存字串 abc 對於char 20 表示你儲存的字元將佔20個位元組 包括17個空字元 而同樣的varchar2 20 則只占用3個位元組的長度,20只是最大值,當你儲存的字元小於20時,按實際長度儲存。2 char的效率比v...
char varchar和varchar2的比較
在mysql 中char 和 varchar 都是儲存字串的,區別在於char有固定的長度,而varchar屬於可變長的字元型別。目前varchar和varchar2是同義詞,工業標準的varchar型別可以儲存空字串,但是oracle不這樣做,儘管它保留以後這樣做的權利。oracle自己開發了乙個...