Sql中nvarchar和varchar的区别

varchar和nvarchar的区别:

  varchar(n):长度为n个字节的可变长度且非unicode的字符数据。n必须是一个介于1和8000之间的数值。存储大小为输入数据的字节的实际长度,而不是n个字节。
  nvarchar(n):包括n个字符的可变长度Unicode字符数据。n的值必须介于1与4000之间,字节的存储大小是所输入字符个数(注意是个数)的两倍。
  例如:我和coffee:在varchar中字段占:2*2+6=10个字节的存储空间,而nvarchat字段占8*2=16个字节的存储空间。
  总结:如果只有英文可选择varchar,如果字段值存在较多的双字节(中文、韩文等)字符时用nvarchar。

  例如:varchar(4)可以输入4个字节,也可以输入两个汉字;nvarchar(4)可以输入4个汉字,也可以输入4个字符,但是最多4个;

注意mysql5.0以后采用utf-8编码,而传统的数据库采用unicode,一个汉字要用两个unicode的char,而在mysql中由于使用了utf-8,所以无论汉字还是字母,都是一个长度的char,所以就不用分nvarhcar和varchar了,一律作varchar

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StriveBen

写字不易,给点动力吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值