• SQL Server 2005 常用数据类型详解


    1. 字符串数据类型
    char
    此数据类型可存储1~8000个定长字符串,字符串长度在创建时指定;如未指定,默认为char(1)。每个字符占用1byte存储空间。
    nchar
    此数据类型可存储1~4000个定长Unicode字符串,字符串长度在创建时指定;如未指定,默认为nchar(1)。每个字符占用2bytes存储空间。
    varchar
    此数据类型可存储最大值为8000个字符的可变长字符串。可变长字符串的最大长度在创建时指定,如varchar(50),每个字符占用1byte存储空间。
    nvarchar
    此数据类型可存储最大值为4000个字符可变长Unicode字符串。可变长Unicode字符串的最大长度在创建时指定,如nvarchar(50),每个字符占用2bytes存储空间。
    text
    此数据类型可存储最大值为2147483647个字符的变长文本,并且无需指定其初始值,每个字符占用1byte存储空间,一般用来存储大段的文章。text数据类型实际上是一个Large Object数据类型,默认情况下,此类型的数据不是存储在数据行内,而是存储于独立的Large Object数据页上。另外,text数据类型不能做为函数、存储过程或触发器中的参数来用。
    ntext
    同text数据类型,只不过存储的是最大值为1073741823个字符的Unicode变长文本,每个字符占用1byte存储空间。
    说明:无论使用哪种字符串数据类型,字符串值必须放在引号内,推荐使用单引号。
    2. 数值数据类型
    bit
    此数据类型存储值为0或1的二进制字段。占用1byte存储空间。
    tinyint
    此数据类型存储0~255的整数,占用1byte存储空间。
    smallint
    此数据类型存储-32768~32767的整数,占用2bytes存储空间。
    int
    此数据类型存储-2147483648~2147483647的整数,占用4bytes存储空间。
    bigint
    此数据类型存储-9223372036854775808~9223372036854775807的整数,占用8bytes存储空间。
    decimal/numeric
    这两个数据类型功能相同,均为存储精度可变的浮点值。但推荐采用decimal,因其存储的数据“更有说明性”。此种数据类型由两个值来确定decimal(p,s),p为精度,s为标量,如decimal(3,2),其中数值2为小数的位数,那么decimal(3,2)可用来存储如1.28这样的浮点数。此种数据类型占用的存储空间取决于精度值p。p为1~9,占用5bytes存储空间;p为10~19,占用9bytes存储空间;p为20~28,占用13bytes存储空间;p为29~38,占用17bytes存储空间。
    float
    此数据类型存储1~53的可变精度的浮点值,精度表示为float(n),n表示科学记数法的尾数,取值范围为-1.79E+308~-2.23E-308的负数和2.23E-308~1.79E+308的正数。其存储空间由精度值决定,n为1~24,占用4bytes存储空间;n为25~53,占用8bytes存储空间。
    real
    此数据类型存储-3.40E+38~-1.18E-38的负数和1.18E~3.40E+38的正数。占用4bytes存储空间。
    smallmoney
    此数据类型存储-214748.3648~214748.3647的货币值,精确到小数后4位。占用4bytes存储空间。
    money
    此数据类型存储-922337203685477.5808~922337203685477.5807的货币值,精确到小数后4位。占用8bytes存储空间。
    3. 日期和时间数据类型
    smalldatetime
    此数据类型存储从1900年1月1日到2079年6月6日的日期。占用4btyes存储空间。
    datetime
    此数据类型存储从1753年1月1日到9999年12月31日的日期。占用8bytes存储空间。
    4. 二进制数据类型
    binary
    此数据类型存储1~8000个字符的二进制数据,其指定长度即为占用的存储空间。
    varbinary
    此数据类型存储可变长的二进制数据,可在创建时指定其具体长度,也可不指定。
    5. 其它数据类型
    rowversion/timestamp
    这两种数据类型功能一样,但Microsoft建议在任何情况下尽可能地指明rowversion而不是timestamp,因为rowversion更加准确地反应了数据类型的真实性质。timestamp数据类型跟时间完全无关,它表明数据库中的数据修改发生的相对顺序。不要在键(尤其是主键)中使用timestamp列,因为每次修改行时,timestamp值都会更改。当指定数据类型为rowversion或timestamp,那么SQL Server会在对表的插入或删除等更新操作时自动生成一个新值,并把这个新值放在合适的字段里。此类型数据占用8bytes存储空间。
    uniqueidentifier

    此类型数据存储二进制值,其作用与全局唯一标识符(GUID)一样。GUID 主要用于在有多个节点、多台计算机的网络中,分配必须具有唯一性的标识符。占用16bytes存储空间。

    转自:

    http://www.cnblogs.com/moss_tan_jun/archive/2010/08/23/1806834.html

  • 相关阅读:
    服务器状态码
    QuerySet中添加Extra进行SQL查询
    django配置一个网站建设
    MySQL数据库查询中的特殊命令
    125. Valid Palindrome
    121. Best Time to Buy and Sell Stock
    117. Populating Next Right Pointers in Each Node II
    98. Validate Binary Search Tree
    91. Decode Ways
    90. Subsets II
  • 原文地址:https://www.cnblogs.com/Sherlock-J/p/12926066.html
Copyright © 2020-2023  润新知