zoukankan      html  css  js  c++  java
  • char、vchar、nvarchar 的区别

    Unicode字符集就是为了解决字符集这种不兼容的问题而产生的,它所有的字符都用两个字节表示,即英文字符也是用两个字节表示

    如果还为了这个纠结,就直接看看后面的解说,做决定吧。

    一般如果用到中文或者其它特殊字符,我就会使用n开头的类型,否则的话直接使用var开头的。 

    sql server中的varchar和Nvarchar有什么区别?

     答:
    varchar(n)     
    长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。

    nvarchar(n)
    包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。


    两字段分别有字段值:我和coffee
    那么varchar字段占2×2+6=10个字节的存储空间,而nvarchar字段占8×2=16个字节的存储空间。

    如字段值只是英文可选择varchar,而字段值存在较多的双字节(中文、韩文等)字符时用nvarchar
    ———————————————————————————————————————————————————

    varchar(10)与nvarchar(10)

    前者是非unicode型,存储字符按1个算(内部空间存储占1字节),存储汉字的话按2个算,
    就是可以存10个字符或者5个汉字
    后者是unicode型,存储什么都是按1个算(内部空间存储占2字节),
    就是可以存10个字符或10个汉字
    varchar(10)与nvarchar(10)就是分别占10个字节和20个字节

    ———————————————————————————————————————————————————

    char(n)          定长    索引效率高 程序里面使用trim去除多余的空白 n 必须是一个介于 1 和 8,000 之间的数值,存储大小为 n 个字节
    varchar(n)            变长  效率没char高 灵活 n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节
    text(n)            变长 非Unicode数据  
    nchar(n)          定长 处理unicode数据类型(所有的字符使用两个字节表示) n 的值必须介于 1 与 4,000 之间。存储大小为 n 字节的两倍
    nvarchar(n)                变长 处理unicode数据类型(所有的字符使用两个字节表示) n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零
    ntext(n)           变长 处理unicode数据类型(所有的字符使用两个字节表示)  

    来源:https://www.cnblogs.com/net5x/articles/9592295.html

  • 相关阅读:
    vue 组件轮播联动
    Echarts 解决饼图文字过长重叠的问题
    Echarts 背景渐变柱状图
    vue 组件间数据传递
    vue webpack build 打包过滤console.log()日志
    自定义字段排序
    vue 路由嵌套高亮问题
    微信小程序验证码获取倒计时
    解决小程序里面的图片之间有空隙的问题???
    axios使用
  • 原文地址:https://www.cnblogs.com/morehappy/p/12134089.html
Copyright © 2011-2022 走看看