##char(n) :
是定长的,当我们输入的字符小于我们设置的长度n时,他就在在后面补空值,当我们输入的字符大于设置的长度n时,他就会截取超出的字符。
##varchar(n):
最大长度为n的可变字符串,而且是非unicode字符数据,存储大小为输入数据的字节的实际长度,而不是n个字节
##Char(n) 和 varchar(n)对比 ::
char: 存储定长数据很方便,比如定义char(10),那么不论你存储的数据是否达到了10个字节,都要占10个字节的空间。
Varchar。 存储变长字节,但是存储效率没有 char 高
如果从空间的优势上选: varchar
如果从效率的优势上选: char
##Nchar() Nvarchar() :
它们的前面多了个“N”,它表示存储的是Unicode 数据类型的字符
目的:
在非Unicode情况下一个英文字符需要一个字节,而一个汉字需要俩个字节存储,这时候容易造成英文和汉字同时存在,导致混乱,这时候为了防止这种事情发生,我们就使用了 Unicode 数据类型
在Unicode 中 一个英文和一个汉字都需要使用俩个字节存储。
##对比nvarchar() 和 varchar() :
他们的不同在于他们的存储方式
Varchar()按字节存储
例如: varchar(6)
我们可以存储 “哈哈哈” 或者“abcdef”
Nvarchar()按字符存储
例如:Nvarchar(6)
可以存储“哈哈哈” 或者 “abc”