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

Numeric 和 decimal 是固定精度和比例的数据类型,并且在功能上是等效的。

近似数值类型

类型
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 日 2079 年 6 月 6 日

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

字符字符串

序号 类型和描述
1

char

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

2

varchar

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

3

Varchar (max)

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

4

text

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

Unicode 字符字符串

序号 类型和描述
1

nchar

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

2

nvarchar

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

3

Nvarchar (max)

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

4

ntext

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

二进制字符串

序号 类型和描述
1

binary

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

2

varbinary

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

3

varbinary(max)

可变长度的二进制数据,最大长度为 231 字节(在 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 中引入)。

广告