您的位置:首页 > 数据库

SQL SERVER 数据类型详解

2008-11-27 19:38 393 查看
1 .数据类型指定列、存储过程参数及局部变量的数据特性
2 .数据按照数据类型存储在列中
 ( 1 ).系统数据类型:SQL server支持的内置数据类型。有25种。
 ( 2 ).用户定义的数据类型:用户根据系统数据类型自己定义的数据类型

数据类型:

一、字符型SQL SERVER 数据类型详解

MS SQL数据类型及长度限制 在 Microsoft? SQL Server? 中,每个列、局部变量、表达式和参数都有一个相关的数据类型,这是指定对象可持有的数据类型(整型、字符、money 等等)的特性。SQL Server 提供系统数据类型集,定义了可与 SQL Server 一起使用的所有数据类型。下面列出系统提供的数据类型集。

可以定义用户定义的数据类型,其是系统提供的数据类型的别名。有关用户定义的数据类型的更多信息,请参见 sp_addtype 和创建用户定义的数据类型。

当两个具有不同数据类型、排序规则、精度、小数位数或长度的表达式通过运算符进行组合时:

通过将数据类型的优先顺序规则应用到输入表达式的数据类型来确定所得值的数据类型。有关更多信息,请参见数据类型的优先顺序。

如果结果数据类型为 char、varchar、text、nchar、nvarchar 或 ntext,则结果值的排序规则由排序规则的优先顺序规则决定。有关更多信息,请参见排序规则的优先顺序。

结果的精度、小数位数及长度取决于输入表达式的精度、小数位数及长度。有关更多信息,请参见精度、小数位数和长度。

SQL Server 为 SQL-92 兼容性提供了数据类型同义词。有关更多信息,请参见数据类型同义词。

精确数字 整数

bigint 从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(所有数字)。

int 从 -2^31 (-2,147,483,648) 到 2^31 - 1 (2,147,483,647) 的整型数据(所有数字)。

smallint 从 -2^15 (-32,768) 到 2^15 - 1 (32,767) 的整数数据。

tinyint 从 0 到 255 的整数数据。

bit

bit 1 或 0 的整数数据。

decimal 和 numeric

decimal 从 -10^38 +1 到 10^38 –1 的固定精度和小数位的数字数据。

numeric 功能上等同于 decimal。

money 和 smallmoney

money 货币数据值介于 -2^63 (-922,337,203,685,477.5808) 与 2^63 -1 (+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 和 smalldatetime

datetime 从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到百分之三秒(或 3.33 毫秒)。

smalldatetime 从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到分钟。

字符串

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

varchar 可变长度的非 Unicode 数据,最长为 8,000 个字符。

text 可变长度的非 Unicode 数据,最大长度为 2^31 - 1 (2,147,483,647) 个字符。

Unicode 字符串

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

nvarchar 可变长度 Unicode 数据,其最大长度为 4,000 字符。sysname 是系统提供用户定义的数据类型,在功能上等同于 nvarchar(128),用于引用数据库对象名。

ntext 可变长度 Unicode 数据,其最大长度为 2^30 - 1 (1,073,741,823) 个字符。

二进制字符串

binary 固定长度的二进制数据,其最大长度为 8,000 个字节。

varbinary 可变长度的二进制数据,其最大长度为 8,000 个字节。

image 可变长度的二进制数据,其最大长度为 2^31 - 1 (2,147,483,647) 个字节。

其它数据类型

cursor 游标的引用。

sql_variant

一种存储 SQL Server 支持的各种数据类型(text、ntext、timestamp 和 sql_variant 除外)值的数据类型。

table

一种特殊的数据类型,存储供以后处理的结果集。

timestamp

数据库范围的唯一数字,每次更新行时也进行更新。

uniqueidentifier

全局唯一标识符 (GUID)。

1 . char (n):n字节,非unicode字符数据,输入字符少于N,以空格填满,长则截掉

,N为1 - 8000范围。
2 . varchar (n):实际长度,节省空间,其它同上。
3 . nchar (n):n单位,unicode标准,两个字节为存储单位,n为1 - 4000范围。
4 . nvarchar (n):实际长度,节省空间,其它同上。

二、整型
1 . int :存储长度为4个字节,范围负的2的31次方至2的31次方减1内所有整数。
2 . smallint :存储长度为2个字节,范围负的2的15次方至2的31次方减1内所有整数。
3 . tinyint :存储长度为1个字节,范围0 - 255内所有整数。
注:identity属性只适用于以上三种。

三、浮点型
1 . real :存储长度为4个字节,范围精确到7位小数。
2 . float :存储长度为8个字节,最多可精确到15位小数
3 . decimal / numeric:实际存储空间, decimal (p,s),p表示总位数,s表示小数点后的位数。 0 <= s <= p <= 38 。
注:以上存储十进制小数

四、货币型
1 . money :8个字节,用于存储货币,精确度为万分之一。
2 . smallmoney :4个字节,范围比money小,精确度为万分之一。

五、位型
bit :1个字节,逻辑变量表示真假,只输入0与1

六、日期与时间型
1 . datetime :8个字节精度三百分之一秒,即3.33毫秒。
适用范围:
MM DD YYYY hh:mmm AM / PM
1753.1 . 1 - 9999.12 . 31 23 : 59 : 59
2 .smlldatetime:4个字节,精度1分钟。
适用范围: 1900.1 . 1 - 2079.6 . 6
注:以上两种为存储日期和时间的结合体,引用时用单引号。

七、二进制型
1 . binary (n):n为长度,范围是固定长度的二进制数据,n为1- 8000
2 . varbinary (n):长度为N + 4字节,范围是二进制数据的长度未升或变化较大时可用,存放8000节字节内可变长数据

八、文本型
text :存储长度为实际大小,最大可存储2的31次方减1,存储长度大于8000个字节的二进制数据。
ntext :存储长度为实际大小,最大可存储2的30次方减1,存储长度大于4000个字符的unicode字符串。

九、图形型
image :存储长度为实际大小,最大可存储2的31次方照片,存储长度大于8000个字符的字符串。

十、特殊型
1 . timestamp :存储长度为8个字节,提供数据库范围内的唯一值,单调上升的计数器。
2 . uniqueidentifier :存储长度为16个字节,存储一个16字节长的二进制数,全局惟一标识符,
注:全局惟一标识符(GUID),由计算机见外网卡和CPU时种产生的,每台机器不会重复。 newid ()函数可求出。

十一、新增型
1 . bigint :存储长度为8个字节,适用范围负的2的63次方至2的63次方减1。
2 .sql_variant:存储除文本,图形数据和timestamp类型数据外的其它任何合法的

SQL server数据。
3 . table :用于存储对表或视图处理后的结果集,可存储一个表
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: