SQL中 char、varchar和nvarchar的区别

1、char存储是定长的,当你定义为char(8)时,你输入的字节长度小于8,数据库会自动为空格填充长度为8字节

2、varchar(n)是可变长度Unicode字符,n必须是介于1-8000之间的数值,存储大小为输入字符的实际字节长度,

     是代表最大存储n个字节,而不是存储n个字符,每个汉字为两个字节,因此,n最多能存储n/2个汉字

3、nvarchar(n)是可变长的Unicode字符,n必须介于1-4000的数值,存储大小为输入字符的实际长度,最多能存储

    n个字符,这字符可为汉字也可为英文

应用场景:

char存储为定长 的,存储方便,索引效率高,因此对于能确定为固定长度的字段定义为char是比较合适的,

对于不确定长度的字段采char为严重浪费存储空间。

varchar存储为可变长度,存储效率没有char高,需要存储当前字符的实际长度,实际占用空间比定义空间大,

又因其存储定义长度和英文长度一致,对于存储英文字符的字段比较合适

nvarchar存储为可变长度,实际存储长度是定义长度n的2倍,存储英文会占用两个字节,造成空间浪费,

比较适合存储汉字

    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值