zoukankan      html  css  js  c++  java
  • sql server 字符数据类型

         SQL Server 中字符类型包括varchar、char、text等。主要用于存储字符数据。varchar和char类型的主要区别在于数据填充。例如,一个列名为FirstName且数据类型为varchar(20)的表,同时将值Brian存储到列FirstName中,那么物理上只存储5个字节。但如果在数据类型为char(20)的列中存储相同的值,将使用全部的的20个字节。SQL将插入拖尾空格来填满20个字符。

    注:有这么一个问题,如果要节省空间,那么为什么还要使用char数据类型呢?这是因为使用varchar数据类型会稍微增加一些系统开销。所以,如果要存储两个字母形式的缩写,最好使用char(2),尽管有些人认为应该最大限度的节省空间,但一般来说,好的做法是找到合适的阈值,指定低于该阈值的采用char类型数据,反之则采用varchar数据类型。比如,任何小于或等于5个字节的列都应该存储为char数据类型,而不是varchar类型。超过这个长度,使用varchar数据类型的好处将超过其额外开销。

         nvarchar数据类型和nchar数据类型的工作方式于对等的varchar数据类型和char数据类型相同,但是这两种数据类型可以处理国际性的Unicode字符,他们需要一些额外的开销。以Unicode形式存储的数据为一个字符占用两个字节(这里指USC-2)。如果将值Brian存储到nvarchar列,将使用10个字节;而如果将之存储为nchar(20),就需要40个字节。

    SQL server 字符数据类型
    数据类型 描述 存储空间
    char(n) n为1~8000字符之间 n字节
    nchar(n) n为1~4000 Unicode字符之间 2 × n 字节
    nvarchar(max) 最多为230 - 1 Unicode字符 2 × 字符数 + 2字节额外开销
    text 最多为231 - 1 字符 每字符1字节+2字节额外开销
    varchar(n) n为1 ~ 8000字符之间 每字符1字节 + 2字节额外开销
    varchar(max) 最多为231 - 1 字符 每字符1字节 + 2字节额外开销
  • 相关阅读:
    C++ 四种cast 用法
    Wannafly挑战赛1 B Xorto
    python里的闭包
    编译器对类的编译顺序
    class和struct
    typedef类型别名
    decltype类型指示符
    左值和右值
    const限定符
    hdu5678 树上第k小
  • 原文地址:https://www.cnblogs.com/hiwuchong/p/6826092.html
Copyright © 2011-2022 走看看