SQL数据类型 详细介绍
SQL数据类型是指定任何对象的数据类型的属性。 每列,变量和表达式在SQL中都有相关的数据类型。 在创建表时可以使用这些数据类型。 也可以根据需要为表的列(字段)选择合适的数据类型。在数据库中,表的每列都具有特定的数据类型。 数据类型指定列(字段)可以容纳的数据类型,例如字符串,数值和日期时间值。
更多教程请访问http://www.manongzj.com
以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 |
日期和时间数据类型
| 数据类型 | 开始值 | 结束值 |
|---|---|---|
datetime |
-1.79E + 308 |
1.79E + 308 |
smalldatetime |
Jan 1, 1900 |
Jun 6, 2079 |
date |
存储日期,如1991年6月30日 | |
time |
存储时间。如,下午12:30 |
注意 - 这里,
datetime的精度为3.33毫秒,而smalldatetime的精度为1分钟。
字符串数据类型
| 序号 | 数据类型 | 描述 |
|---|---|---|
| 1 | char |
最大长度为8,000个字符,非Unicode字符固定长度。 |
| 2 | varchar |
最多8,000个字符,非Unicode数据可变长度。 |
| 3 | varchar(max) |
最大长度为2E + 31个字符,可变长度非Unicode数据(仅限SQL Server 2005)。 |
| 4 | text |
非Unicode数据的可变长度,最大长度为2,147,483,647个字符。 |
Unicode字符串数据类型
| 序号 | 类型 | 描述 |
|---|---|---|
| 1 | nchar |
最大长度为4,000个字符,Unicode字符固定长度。 |
| 2 | nvarchar |
最大长度为4,000个字符,Unicode字符可变长度。 |
| 3 | nvarchar(max) |
最大长度为2E + 31个字符(仅限SQL Server 2005),Unicode字符可变长度。 |
| 4 | ntext |
最大长度为1,073,741,823个字符,可变长度。 |
二进制数据类型
| 序号 | 类型 | 描述 |
|---|---|---|
| 1 | binary |
最大长度为8,000字节,固定长度的二进制数据。 |
| 2 | varbinary |
最大长度为8,000字节,可变长度二进制数据。 |
| 3 | varbinary(max) |
最大长度为2E + 31个字节(仅限SQL Server 2005),可变长度二进制数据。 |
| 4 | image |
最大长度为2,147,483,647字节,可变长度二进制数据) |
其它数据类型
| 序号 | 类型 | 描述 |
|---|---|---|
| 1 | sql_variant |
存储各种SQL Server支持的数据类型的值,text,ntext和timestamp类型除外。 |
| 2 | timestamp |
存储数据库范围的唯一编号,每次更新行时都会更新该编号。 |
| 3 | uniqueidentifier |
存储全局唯一标识符(GUID) |
| 4 | xml |
存储XML数据,可以将xml实例存储在列或变量中(仅限SQL Server 2005)。 |
| 5 | cursor |
引用游标对象 |
| 6 | table |
存储结果集以供以后处理 |

浙公网安备 33010602011771号