zoukankan      html  css  js  c++  java
  • 在SQL server中,怎么区别char跟varchar?

    char和 varchar是一样的字符型,
    不同在于,varchar比char更灵活,精确,且不占内存空间,
    当你取同样的字符时,char会在该字符后面加上空格,
    而varchar则只取得这个字符,比如有字段5,用varchar从该字段
    中取aa时,你取得的是"aa",如果用char,则取得的是"aa   ",
    char会在后面用空格补齐5个字段。
    所以,varchar比char更精确,但,varchar的速度却比char慢。
    因为char是直接取得全部,而varchar是精确的去取得你要的字符。

    追问

    那nvarchar呢?

    回答

    varchar是处理非unicode数据,它处理的数据字节的长度是字符实际的长度.
    nvarchar处理unicode数据,它处理的数据字节的长度是字符个数的两倍.
    就是说,汉字一个字占两个字符,英文字母一个占一个字符,用varchar的话它是按这样计算的,
    但是你用nvarchar的话它是把汉字和字母都当作两个字符,来得到字符长度.这里,char和
    varchar是一样的.
    所以,nvarchar能处理的英文字符数比varchar少了一半.
    另外,
    CHAR,NCHAR 有固的定长,查询速度快,但占用空间大,
    VARCHAR,NVARCHAR,TEXT 没有固定定长,占用空间小,查询速度慢;
    你看到的前面加个N其实就是说明它是要处理unicode数据的.

  • 相关阅读:
    2-3-4 tree留坑
    CCPC final Cockroaches
    对拍模板
    使用cronolog按日期分割日志
    linux git 命了
    变量加减乘除运算
    根据pom标签修改
    根据符号获取字符
    shell循环字符串数组
    git ssh key配置
  • 原文地址:https://www.cnblogs.com/yaoxing92/p/2917765.html
Copyright © 2011-2022 走看看