T-SQL - 数据类型

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

SQL Server提供七个类别,包括其他类别的数据类型供使用.

精确数字类型

类型
bigint-9,223,372,036,854,775,8089,223,372,036,854,775,807
int-2,147,483,6482,147,483,647
smallint-32,76832,767
tinyint0255
bit01
十进制-10 ^ 38 +  110 ^ 38 -1
numeric-10 ^ 38 +  110 ^ 38 -1
money-922,337,203,685,477.5808+  922,337,203,685,477.5807
smallmoney-214,748.3648+  214,748.3647

数字和小数是固定的精度和比例数据类型,在功能上是等效的.

近似数字类型

Type
Float-1.79E +  3081.79E +  308
Real-3.40E +  383.40E +  38

日期和时间类型

类型来自

日期时间(精确度为3.33毫秒)

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

smalldatetime (1分钟准确度)

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

日期(1天准确度.在SQL Server 2008中引入)

1月1日,00019999年12月31日

datetimeoffset (100纳秒准确度.在SQL Server 2008中引入)

1月1日,00012月31日,9999

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

1月1日,00019月31日,9999

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

00:00:00.000000023:59:59.9999999

字符串

Sr.NoType&描述
1

char

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

2

varchar

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

3

Varchar(max)

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

4

文本

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

Unicode字符串

Sr.NoType&描述
1

nchar

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

2

nvarchar

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

3

Nvarchar(最大)

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

4

ntext

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

二进制字符串

Sr.NoType&描述
1

二进制

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

2

varbinary

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

3

varbinary(max)

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

4

图片

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

其他数据类型

  • sql_variant : 存储各种SQL Server支持的数据类型的值,text,ntext和timestamp除外.

  • timestamp : 存储数据库范围的唯一编号,每次更新一行时都会更新.

  • uniqueidentifier : 存储全局唯一标识符(GUID).

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

  • cursor : 对游标的引用.

  • : 存储结果集以供以后处理.

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