T-SQL – 数据类型
T-SQL – 数据类型
SQL Server 数据类型是一个属性,用于指定任何对象的数据类型。SQL Server 中的每个列、变量和表达式都有相关的数据类型。创建表时可以使用这些数据类型。您可以根据需要为表列选择特定的数据类型。
SQL Server 提供了七个类别,包括其他类别的数据类型供使用。
精确数字类型
Type | 从 | 到 |
---|---|---|
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 &plus1 | 10^38 –1 |
numeric | -10^38 &plus1 | 10^38 –1 |
money | -922,337,203,685,477.5808 | &plus922,337,203,685,477.5807 |
smallmoney | -214,748.3648 | &plus214,748.3647 |
数字和小数是固定精度和小数位数数据类型,在功能上是等效的。
近似数值类型
Type | 从 | 到 |
---|---|---|
Float | -1.79E+308 | 1.79E+308 |
Real | -3.40E+38 | 3.40E+38 |
日期和时间类型
Type | 从 | 到 |
---|---|---|
datetime(3.33 milliseconds accuracy) |
1753 年 1 月 1 日 | 9999 年 12 月 31 日 |
smalldatetime(1 minute accuracy) |
1900 年 1 月 1 日 | 2079 年 6 月 6 日 |
date(1 day accuracy. Introduced in SQL Server 2008) |
0001 年 1 月 1 日 | 9999 年 12 月 31 日 |
datetimeoffset(100 nanoseconds accuracy. Introduced in SQL Server 2008) |
0001 年 1 月 1 日 | 9999 年 12 月 31 日 |
datetime2(100 nanoseconds accuracy. Introduced in SQL Server 2008) |
0001 年 1 月 1 日 | 9999 年 12 月 31 日 |
time(100 nanoseconds accuracy. Introduced in SQL Server 2008) |
00:00:00.0000000 | 23:59:59.9999999 |
字符串
Sr.No | 类型和描述 |
---|---|
1 |
char 固定长度的非 Unicode 字符数据,最大长度为 8,000 个字符。 |
2 |
varchar 最多 8,000 个字符的可变长度非 Unicode 数据。 |
3 |
Varchar (max) 最大长度为 231 个字符的可变长度非 Unicode 数据(在 SQL Server 2005 中引入)。 |
4 |
text 可变长度非 Unicode 数据,最大长度为 2,147,483,647 个字符 |
Unicode 字符串
Sr.No | 类型和描述 |
---|---|
1 |
nchar 固定长度的 Unicode 数据,最大长度为 4,000 个字符。 |
2 |
nvarchar 可变长度 Unicode 数据,最大长度为 4,000 个字符。 |
3 |
Nvarchar (max) 最大长度为 2 的可变长度 Unicode 数据30 字符(在 SQL Server 2005 中引入)。 |
4 |
ntext 可变长度 Unicode 数据,最大长度为 1,073,741,823 个字符。 |
二进制字符串
Sr.No | 类型和描述 |
---|---|
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 支持的数据类型的值,文本、ntext 和时间戳除外。
-
时间戳– 存储数据库范围的唯一编号,每次更新行时都会更新该编号。
-
uniqueidentifier – 存储全局唯一标识符(GUID)。
-
xml – 存储 XML 数据。您可以将 XML 实例存储在列或变量中(在 SQL Server 2005 中引入)。
-
cursor – 对游标的引用。
-
table – 存储结果集以供以后处理。
-
hierarchyid – 一种可变长度的系统数据类型,用于表示层次结构中的位置(在 SQL Server 2008 中引入)。