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