-
char 是固定长度;varchar 长度可变;
- char(n) 和 varchar(n) 中括号中 n 代表字符的个数,并不代表字节个数,
- 比如 CHAR(30) 就可以存储 30 个字符。
-
存储时,前者不管实际存储数据的长度,直接按 char 规定的长度分配存储空间;而后者会根据实际存储的数据分配最终的存储空间。
-
char是适合存储很短的、一般固定长度的字符串。
-
相同点
- char(n),varchar(n)中的n都代表字符的个数;
- 超过char,varchar最大长度n的限制后,字符串会被截断;
-
不同点
- char不论实际存储的字符数都会占用n个字符的空间,
- 而varchar只会占用实际字符应该占用的字节空间加1(实际长度length,0<=length<255)或加2(length>255)。
- 因为varchar保存数据时除了要保存字符串之外还会加一个字节来记录长度,如果列声明长度大于255则使用两个字节来保存长度。
- 能存储的最大空间限制不一样:
- char的存储上限为255字节。
- char在存储时会截断尾部的空格,而varchar不会
相关文章
- 08-15VC++中char * 与LPCWSTR 类型形参不兼容问题
- 08-15Unicode字符集下CString与char *相互转换
- 08-15char 与 unsigned char的本质区别
- 08-15C语言:char讲解与例子
- 08-15QT编程中的char*,wchar_t*与QString之间的转换
- 08-15在英文 sql2005中 比较nvarchar 与 varchar的速度
- 08-15SQL中char、varchar、nvarchar
- 08-15char,varchar和nvarchar三者的区别
- 08-15SQL char,nchar,varchar,nvarchar区别与使用
- 08-15SQL中char、varchar、nvarchar的区别