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 |
数字和小数是固定精度和标度的数据类型,在功能上是等效。
近似数值类型
类型 | 从 | 至 |
---|---|---|
FLOAT | -1.79E + 308 | 1.79E + 308 |
REAL | -3.40E + 38 | 3.40E + 38 |
日期和时间类型
类型 | 从 | 至 |
---|---|---|
DATATIME (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日 |
DATATIME2(100纳秒的精度。在SQL Server 2008中引入) |
0001年1月1日 | 9999年12月31日 |
TIME(100纳秒的精度。在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
最大长度为4,000个字符的可变长度Unicode数据。
|
3 |
NVARCHAR(MAX)
最大长度为230个字符的可变长度Unicode数据(在SQL Server 2005中引入)。 |
4 |
NTEXT 最大长度为1,073,741,823个字符的可变长度Unicode数据。 |
二进制字符串
Sr.No | 类型及说明 |
---|---|
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 -时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。
-
UNIQUEIDENTIFIER -存储全局唯一标识符(GUID)。
-
XML -存储XML数据。 您可以将XML实例存储在列或变量中(在SQL Server 2005中引入)。
-
CURSOR -对游标的引用。
-
TABLE -存储结果集以供稍后处理。
-
HIERARCHYID -用于表示层次结构中位置的可变长度的系统数据类型(在SQL Server 2008中引入)。
更多建议: