T Sql 简明教程
T-SQL - Data Types
SQL Server 数据类型是一种属性,它指定了任何对象的 data 类型。每列,变量和表达式在 SQL Server 中有相关的 data 类型。在创建表时可使用这些数据类型。你可针对你的需求为表格栏选择特定的数据类型。
SQL Server 提供了七个类别包括其他类别的 data 类型以供使用。
Exact Numeric Types
Type |
From |
To |
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 |
数字和十进制是固定精度和刻度 data 类型,以及在功能上是相等的。
Date and Time Types
Type |
From |
To |
datetime(3.33 milliseconds accuracy) |
Jan 1, 1753 |
Dec 31, 9999 |
smalldatetime(1 minute accuracy) |
Jan 1, 1900 |
Jun 6, 2079 |
date (1 天精度。在 SQL Server 2008 中引入) |
Jan 1, 0001 |
Dec 31, 9999 |
datetimeoffset (100 纳秒精度。在 SQL Server 2008 中引入) |
Jan 1, 0001 |
Dec 31, 9999 |
datetime2 (100 纳秒精度。在 SQL Server 2008 中引入) |
Jan 1, 0001 |
Dec 31, 9999 |
time (100 纳秒精度。在 SQL Server 2008 中引入) |
00:00:00.0000000 |
23:59:59.9999999 |
Character Strings
Sr.No |
Type & Description |
1 |
char 固定长度非 Unicode 字符数据,最大长度为 8000 字符。 |
2 |
varchar 可变长度非 Unicode 数据,最大长度为 8000 字符。 |
3 |
Varchar (max) 可变长度非 Unicode 数据,最大长度为 231 个字符(在 SQL Server 2005 中引入)。 |
4 |
text 可变长度非 Unicode 数据,最大长度为 2,147,483,647 个字符 |
Unicode Character Strings
Sr.No |
Type & Description |
1 |
nchar 固定长度 Unicode 数据,最大长度为 4000 字符。 |
2 |
nvarchar 可变长度 Unicode 数据,最大长度为 4000 字符。 |
3 |
Nvarchar (max) 可变长度 Unicode 数据,最大长度为 230 个字符(在 SQL Server 2005 中引入)。 |
4 |
ntext 可变长度 Unicode 数据,最大长度为 1,073,741,823 个字符。 |
Binary Strings
Sr.No |
Type & Description |
1 |
binary 固定长度二进制数据,最大长度为 8000 字节。 |
2 |
varbinary 可变长度二进制数据(最大长度 8000 字节)。 |
3 |
varbinary(max) 长度最大为 231 个字节的可变长度二进制数据(在 SQL Server 2005 中引入)。 |
4 |
image 长度最大为 2,147,483,647 个字节的可变长度二进制数据。 |
Other Data Types
-
sql_variant − 存储各种 SQL Server 支持的数据类型的数值,文本、ntext 和时间戳除外。
-
timestamp − 存储一个数据库范围的唯一号,每当更新一行,它就会更新。
-
uniqueidentifier −存储一个全局唯一标识符(GUID)。
-
xml −存储XML数据。您可以在一个列或一个变量中存储XML实例(SQL Server 2005中引入)。
-
cursor −一个游标的引用。
-
table −存储一个结果集以备稍后处理。
-
hierarchyid −一个可变长度系统数据类型,用于表示一个层次中的位置(SQL Server 2008中引入)。