zoukankan      html  css  js  c++  java
  • Mssql中一些常用数据类型的说明和区别

    Mssql中一些常用数据类型的说明和区别

    1、bigint
      占用8个字节的存储空间,取值范围在-2^63 (-9,223,372,036,854,775,808) 到 2^63-1 (9,223,372,036,854,775,807)之间的19位整数,对应C#中的Int64/long

    2、int
      占用4个字节的存储空间,取值范围在-2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647)之间的10位整数,对应C#中的Int32/int

    3、smallint
      占用2个字节的存储空间,取值范围在-2^15(-32768)到2^15-1(32767)之间的5位整数,对应C#中的Int16/short

    4、tinyint
      占用1个字节的存储空间,取值范围在0-255之间的整数,对应C#中的Byte/byte

    5、bit
      最大占用1个字节的存储空间,取值0/1(false/true),对应C#中的Boolean

    6、char(n)

          固定长度,非Unicode字符串数据,存储长度为1-8000字节,一般用来存储长度一直或长度差异较小的数据项。n为自定义可存储的最大长度。

    例如定义数据列的类型为char(5),当存储的数为123、abcd、12345时,它们所占用的存储空间都是5个字节的空间

    7、varchar(n|max)
          非固定长度,非Unicode字符串数据,存储长度为1-8000字节,一般用来存储长度差异较大的数据项。n为自定义可存储的最大长度。

      例如定义数据列的类型为varchar(5), 当存储的数为123、abcd、12345时,它们所占用的存储空间依次为3、4、5个字节的空间(实际存储空间要+2个字节)。

      当n为max时,最大存储长度为2^31-1个字节

      来自msdn的建议:

    • 如果列数据项的大小一致,则使用 char
    • 如果列数据项的大小差异相当大,则使用 varchar
    • 如果列数据项大小相差很大,而且大小可能超过 8,000 字节,请使用 varchar(max)

    8、nchar/nvarchar

      区别于char/varchar,nchar和nvarchar可存储Unicode字符,比如汉字

      英文字符在数据库中存储时占用1个字节,中文和其他一些非英文字符则占用两个字节,如果在char或者varchar中存储中文字符,在非中文的操作系统中显示为乱码??,为了解决这种问题就产生了nchar和nvarchar两种数据类型

      在nchar和nvarchar中无论是中文还是英文字符都是占用两个字节,所以最多能存储4000个字符

    9、text/ntext/image类型

      分别用于存储大型非 Unicode 字符、Unicode 字符及二进制数据的固定长度数据类型和可变长度数据类型,微软表示在未来的mssql版本中将会删除这三种类型,建议使用varchar(max)/nvarchar(max)和varbinary(max)代替

     其他的后面再写,若有不当之处,烦请各位拍砖!

  • 相关阅读:
    MyBatis 知识点梳理
    SSH无密码登录的原理及配置
    Maven学习笔记
    阿里Java开发电话面试经历惨败
    Java生成验证码(二)
    Java生成验证码(一)
    Hibernate 知识点梳理
    数据结构线性表顺序表示 (二)
    replace tabs with the proper number of blanks
    数据结构线性表顺序表示 (三)
  • 原文地址:https://www.cnblogs.com/makeke/p/5486364.html
Copyright © 2011-2022 走看看