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

2022-08-18 23:39:15 字數 576 閱讀 6965

1、char的長度是不可變的,而varchar的長度是可變的

欄位b:型別char(10),     值為:abc,儲存為:abc

(abc+7個空格)

欄位d:型別varchar(10), 值為:abc,儲存為:abc (自動變為3個的長度)

2、超出長度自動擷取

欄位c:型別char(3),     值為:abcdefg,儲存為:abc(defg自動刪除)

欄位e:型別varchar(3), 值為:abcdefg,儲存為:abc (defg自動刪除)

3、var(10)和char(10),都表示可存10個字元,無論存放的是數字、字母還是utf8漢字(每個漢字3位元組),都可以存放10個

4、char最多可以存放255個字元

varchar的最大長度為65535個位元組,varchar可存放的字元數跟編碼有關

字元型別若為gbk,每個字元最多佔2個位元組,最大長度不能超過32766個字元

字元型別若為utf8,每個字元最多佔3個位元組,最大長度不能超過21845個字元

5、char和varchar的最大長度限制是mysql規定的

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

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

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...