SQL SERVER中char、nchar、varchar、nvarchar的区别和常用场景举例

来源:互联网 发布:大数据就业 知乎 编辑:程序博客网 时间:2024/06/06 15:50
    一、char 和varchar的区别和应用:


   
 1.char和varchar的区别:

char :指定长度,如果一个数据实际长度比设定长度短,那么它将按照设定(最长)长度储存,不足部分,填补空格。适用于固定长度的字段,如性别、手机号等。

varchar :指定最大长度,但该长度可变,即如果数据的实际长度比设定长度短,那么它将按照实际长度储存,而不占用剩余的空间。 适用于非固定长度的字段,如姓名、城市名等。

    

    2.带“n”与不带“n”:

     带“n”可以理解为兼容unicode 编码和非unicode 编码,故而更适用兼容不同类型的字符本人在项目中一直都是首选nvachar类型。若不带“n”,则意味着只能存放unicode编码的字符。

  小知识: 什么是unicode编码?  

在Unicode中:无论英文还是日文中文都是占两个编码位置(双字节),现在的操作系统用的都是Unicode编码,所以这时中文就不用进行转换为单字节进行运行了,效率就提高了(Unicode几乎支持所有的语言编码)。区别于ASCII编码:英文字符占一个编码位置(单字节),而中文占两个位置(双字节)。

0 0