SQL中CHAR和VARCHAR的区别

2019-03-21  本文已影响0人  FoxLayla

CHAR和VARCHAR的区别

CHAR和VARCHAR的主要区别有三方面:

最大长度

有效长度

存储方式

以长度为4的CHAR和VARCHAR举例:

CHAR(4) 所需存储空间 VARCHAR(4) 所需存储空间
'' ' '(存储了4个空格) 4byte '' 1byte
'ab' 'ab '(存储了字符ab及两个空格) 4byte 'ab' 3byte
'abcd' 'abcd' 4byte 'abcd' 5byte
'abcdefg' 'abcd' 4byte 'abcd' 5byte

是否保留末尾空格

举例:

CREATE TABLE varchar_and_char (v VARCHAR(4), c CHAR(4));
INSERT INTO varchar_and_char VALUES ('ab  ', 'ab  ');
SELECT CONCAT('(', v, ')'), CONCAT('(', c, ')') FROM varchar_and_char;

输出:

image
上一篇 下一篇

猜你喜欢

热点阅读