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

2021-09-23 10:33:28 字數 499 閱讀 7232

首先明確的是,char的長度是不可變的,而varchar的長度是可變的,

定義乙個char[10]和varchar[10],如果存進去的是『abcd』,那麼char所佔的長度依然為10,除了字元『abcd』外,後面跟六個空格,而varchar就立馬把長度變為4了,取資料的時候,char型別的要用trim()去掉多餘的空格,而varchar是不需要的,

char的訪問數度還是要比varchar要快得多,因為其長度固定,方便程式的儲存與查詢;但是char也為此付出的是空間的代價,因為其長度固定,所以難免會有多餘的空格佔位符佔據空間,可謂是以空間換取時間效率,而varchar是以空間效率為首位的。

char的儲存方式是,對英文本元(ascii)占用1個位元組,對乙個漢字占用兩個位元組;而varchar的儲存方式是,對每個英文本元占用2個位元組,漢字也占用2個位元組,兩者的儲存資料都非unicode的字元資料。

char和varchar2 varchar的區別

char和varchar2 varchar的區別 1 char是長度固定的型別,varchar2是動態變化的,譬如 存在字串 abcde 對於乙個大小為char 20 而言,它將儲存20個字元,但是有15個是空字元,而varchar 20 則是占用3個位元組的長度,20只是能儲存的最大值。2 cha...

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

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

char 10 和VARCHAR 10 主要的區別

1,首先明確的是,char的長度是不可變的,而varchar的長度是可變的 2,定義乙個char 10 和varchar 10 如果存進去的dao是 abcd 那麼char所佔的長度依然為10,除了字元 abcd 外,後面跟六個空格,而varchar就立馬把長度變為4了,取資料的時候,char型別的...