您的位置:首页 > 其它

char varchar nchar nvarchar区别

2016-10-11 14:22 274 查看
1、char varchar

char(n)是指定固定长度,n是1-8000之间的数值。在char(10)类型中,当你的字段长度不足10时,以空值补充。当字段长度大于10时,会截取超出的组字符。

varchar(n)是指定可变长度,n是1-8000之间的数值。在char(10)类型中,字段存储的是你输入的实际长度,而不是10,长度可以为0。

char(n)存储定长字段,索引效率极高。varchar(n)存储变长字段,利于节省空间,单存储效率没有char(n)好。

2、nchar nvarchar

nchar(n) nvarchar(n),n是1-4000之间的数值,所存储的大小是输入字符个数的两倍。前面的n表示存储的是Unicode字符数据。大家都知道,一个汉字占两个字节,一个英文或数字占

一个字节,英文与汉字并存时,存储较为混乱。Unicode字符集就是为了解决这种情况的,每一个字符都占两个字节。
所以当储存的字符汉字与英文并存时使用nchar(n) nvarchar(n),当只有英文或者数字时使用char(n) varchar(n).

取字符串字节数用函数datalength(字符串)

取字符串字符数用函数len(字符串)

SELECT datalength('辽宁沈阳123') --11

SELECT len('辽宁沈阳123')        --7

SELECT datalength(N'辽宁沈阳123')--14

SELECT len(N'辽宁沈阳123') --7
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  unicode 索引 数据