T-SQL - 数据类型

  • 简述

    SQL Server 数据类型是指定任何对象的数据类型的属性。SQL Server 中的每一列、变量和表达式都有相关的数据类型。创建表时可以使用这些数据类型。您可以根据需要为表列选择特定的数据类型。
    SQL Server 提供七类包括其他类别的数据类型供使用。
  • 精确数值类型

    类型
    bigint -9,223,372,036,854,775,808 9,223,372,036,854,775,807
    int -2,147,483,648 2,147,483,647
    smallint -32,768 32,767
    tinyint 0 255
    bit 0 1
    decimal -10^38 +1 10^38 –1
    numeric -10^38 +1 10^38 –1
    money -922,337,203,685,477.5808 +922,337,203,685,477.5807
    smallmoney -214,748.3648 +214,748.3647
    数字和小数是固定精度和小数位数数据类型,在功能上是等效的。
  • 近似数值类型

    类型
    Float -1.79E+308 1.79E+308
    Real -3.40E + 38 3.40E + 38
  • 日期和时间类型

    类型
    datetime(3.33 毫秒精度)
    1753 年 1 月 1 日 9999 年 12 月 31 日
    smalldatetime(1分钟精度)
    1900 年 1 月 1 日 Jun 6, 2079
    date(1 天准确度。在 SQL Server 2008 中引入)
    0001 年 1 月 1 日 9999 年 12 月 31 日
    datetimeoffset(100 纳秒精度。在 SQL Server 2008 中引入)
    0001 年 1 月 1 日 9999 年 12 月 31 日
    datetime2(精度为 100 纳秒。在SQL Server 2008)
    0001 年 1 月 1 日 9999 年 12 月 31 日
    time(精度为 100 纳秒。在SQL Server 2008)
    00:00:00.0000000 23:59:59.9999999
  • 字符串

    序号 Type & Description
    1
    char
    固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。
    2
    varchar
    可变长度的非 Unicode 数据,最多 8,000 个字符。
    3
    Varchar (max)
    最大长度为 231 个字符的可变长度非 Unicode 数据(在 SQL Server 2005 中引入)。
    4
    text
    最大长度为 2,147,483,647 个字符的可变长度非 Unicode 数据
  • Unicode 字符串

    序号 Type & Description
    1
    nchar
    最大长度为 4,000 个字符的固定长度 Unicode 数据。
    2
    nvarchar
    最大长度为 4,000 个字符的可变长度 Unicode 数据。
    3
    Nvarchar (max)
    最大长度为 2 30 个字符的可变长度 Unicode 数据(在 SQL Server 2005 中引入)。
    4
    ntext
    最大长度为 1,073,741,823 个字符的可变长度 Unicode 数据。
  • 二进制字符串

    序号 类型 & 描述
    1
    binary
    最大长度为 8,000 字节的固定长度二进制数据。
    2
    varbinary
    最大长度为 8,000 字节的可变长度二进制数据。
    3
    varbinary(max)
    最大长度为 2 31字节的可变长度二进制数据(在 SQL Server 2005 中引入)。
    4
    image
    最大长度为 2,147,483,647 字节的可变长度二进制数据。
  • 其他数据类型

    • sql_variant− 存储 SQL Server 支持的各种数据类型的值,text、ntext 和 timestamp 除外。
    • timestamp− 存储数据库范围内的唯一编号,每次更新行时都会更新该编号。
    • uniqueidentifier− 存储全球唯一标识符 (GUID)。
    • xml− 存储 XML 数据。您可以将 XML 实例存储在列或变量中(在 SQL Server 2005 中引入)。
    • cursor− 对游标的引用。
    • table− 存储结果集供以后处理。
    • hierarchyid− 一种可变长度的系统数据类型,用于表示层次结构中的位置(在 SQL Server 2008 中引入)。