T-SQL - 数据类型


SQL Server 数据类型是指定任何对象的数据类型的属性。SQL Server 中的每个列、变量和表达式都有相关的数据类型。创建表时可以使用这些数据类型。您可以根据需要为表列选择特定的数据类型。

SQL Server 提供了七类包括其他类别的数据类型供使用。

精确的数字类型

类型
大整数 -9,223,372,036,854,775,808 9,223,372,036,854,775,807
整数 -2,147,483,648 2,147,483,647
小整数 -32,768 32,767
小整数 0 255
少量 0 1
小数 -10^38 +1 10^38 –1
数字 -10^38 +1 10^38 –1
-922,337,203,685,477.5808 +922,337,203,685,477.5807
小钱 -214,748.3648 +214,748.3647

数字和小数是固定精度和小数位数的数据类型,并且在功能上是等效的。

近似数字类型

类型
漂浮 -1.79E+308 1.79E+308
真实的 -3.40E+38 3.40E+38

日期和时间类型

类型

日期时间(3.33 毫秒精度)

1753 年 1 月 1 日 9999 年 12 月 31 日

小日期时间(1 分钟精度)

1900 年 1 月 1 日 2079 年 6 月 6 日

日期(精确度为 1 天。在 SQL Server 2008 中引入)

一月 1, 0001 9999 年 12 月 31 日

datetimeoffset(100 纳秒精度。在 SQL Server 2008 中引入)

一月 1, 0001 9999 年 12 月 31 日

datetime2(100 纳秒精度。在SQL Server 2008中引入)

一月 1, 0001 9999 年 12 月 31 日

时间(100纳秒精度。在SQL Server 2008中引入)

00:00:00.0000000 23:59:59.9999999

字符串

先生编号 类型和描述
1

字符

固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。

2

varchar

可变长度非 Unicode 数据,最多 8,000 个字符。

3

varchar(最大)

最大长度为 231 个字符的可变长度非 Unicode 数据(在 SQL Server 2005 中引入)。

4

文本

可变长度非 Unicode 数据,最大长度为 2,147,483,647 个字符

Unicode 字符串

先生编号 类型和描述
1

恩查尔

固定长度的 Unicode 数据,最大长度为 4,000 个字符。

2

nvarchar

最大长度为 4,000 个字符的可变长度 Unicode 数据。

3

Nvarchar(最大)

最大长度为 2 30 个字符的可变长度 Unicode 数据(在 SQL Server 2005 中引入)。

4

文本

可变长度 Unicode 数据,最大长度为 1,073,741,823 个字符。

二进制字符串

先生编号 类型和描述
1

二进制

固定长度的二进制数据,最大长度为 8,000 字节。

2

瓦尔二进制

可变长度二进制数据,最大长度为 8,000 字节。

3

varbinary(最大)

可变长度二进制数据,最大长度为 2 31字节(在 SQL Server 2005 中引入)。

4

图像

可变长度二进制数据,最大长度为 2,147,483,647 字节。

其他数据类型

  • sql_variant - 存储各种 SQL Server 支持的数据类型的值,除了 text、ntext 和 timestamp。

  • 时间戳- 存储数据库范围内的唯一编号,每次更新行时都会更新该编号。

  • uniqueidentifier - 存储全局唯一标识符(GUID)。

  • xml - 存储 XML 数据。您可以将 XML 实例存储在列或变量中(在 SQL Server 2005 中引入)。

  • 光标- 对光标的引用。

  • table - 存储结果集以供以后处理。

  • hierarchyid - 一种可变长度的系统数据类型,用于表示层次结构中的位置(在 SQL Server 2008 中引入)。