SQL数据库中char,varchar,text,nchar,nvarchar,ntext的区别

1,char--char存储定长数据很方便,char字段上的索引效率级高,比如,char(10),不论你存储的数据是否达到了10个字节,都要占去10个字节的空间.
2,varchar--存储变长数据,但存储效率没有char高.如果一个字段可能的值是不固定长度的,我们只是知道它的长度不会超过10个字符,把它定义为varchar(10)是最合算的.varchar类型的实际长度是它值的实际长度+1.最后这个+1的字节是用来保存实际使用了多大的长度.
3,text---存储可变长度的非Unicode数据.
4,nchar,nvarchar,ntext---它表示存储的是Unicode数据类型的字符.

Unicode字符集:在字符中,英文一个字母占一个字节,但一个汉字却是占两个字符.为了避免中英文同时存在的时候产生混乱.就出现了Unicode字符集.它的所有字符都是两个字节表示,英文一个字母也是用两个字节表示.nchar、nvarchar的长度是在1到4000之间。和 char、varchar比较起来,nchar、nvarchar则最多存储4000个字符,不论是英文还是汉字;而char、varchar最多能存储 8000个英文,4000个汉字.
所以一般来说,如果有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值