SQLServer 提供了 25 种基本数据类型:
·Binary [(n)] 二进制数据 既可以是固定长度的(Binary),也可以是变长度的。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4 个字节。
·Varbinary [(n)] 二进制数据 n 位变长度的二进制数据。其中,n 的取值范围是从 1 到 8000。其存储窨的大小是 n + 4 个字节。
·Char [(n)] 字符数据类型(任何字母、符号和数字任意组合而成的数据) 定长字符数据,其长度最多为 8KB
·Varchar[(n)] 变长字符数据 长度最多为 8KB
·Nchar[(n)] Unicode 数据类型(列可以存储多个字符集中的字符) 列长度固定不变 最多可以存储4000 个字符
·Nvarchar[(n)] Unicode 数据类型 列长度变化 最多可以存储4000 个字符
·Datetime 日期和时间数据类型 所存储的日期范围是从 1753 年 1 月 1 日开始,到9999 年12 月 31 日结束(每一个值要求 8 个存储字节)。精确到三百分之一秒或3.33毫秒
·Smalldatetime 日期和时间数据类型 1900年 1 月 1日 开始,到 2079 年 12 月 31 日结束(每一个值要求 4 个存储字节)。精确到一分钟
·Decimal[(p[,s])] 17 个字节 容纳从 1028 - 1到 - 1028 - 1. 的值的精确的数字数据类型。你可以定义精度 (1 - 28) 和 符号 (0 - 定义精度)。缺省精度和符号分别是18和0
·Numeric[(p[,s])] 数据类型与decimal 型相同
·Float[(n)] 浮点数 可以是从-1.79E+308到1.79E+308 之间的任意数
·Real 近似数值类型。它可以表示数值在-3.40E+38到3.40E+38之间的浮点数
·Int 数据类型存储数据的范围是从 -2 147 483 648 到 2 147 483 647(每一个值要求4个字节存储空间)。
·Smallint 存储数据的范围从 -32 768 到 32 767(每一个值要求2个字节存储空间)。
·Tinyint 存储数据的范围是从0 到255(每一个值要求1个字节存储空间)。
·Money 货币数据表示正的或者负的货币数量 Money数据类型要求 8 个存储字节 存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一
·Smallmoney 货币数据表示正的或者负的货币数量 Smallmoney 数据类型要求 4 个存储字节。能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一
·Bit 由 1 或者 0 组成。当表示真或者假、ON 或者 OFF 时,使用 Bit 数据类型
·Cursor 特殊的数据类型,它包含一个对游标的引用。这种数据类型用在存储过程中,而且创建表时不能用
·Sysname 系统提供的用户定义数据类型,功能上相当于 nvarchar(128),用于引用数据库对象名称。
·Timestamp 用于表示SQL Server 活动的先后顺序,以二进投影的格式表示。Timestamp 数据与插入数据或者日期和时间没有关系
·Uniqueidentifier 由 16 字节的十六进制数字组成,表示一个全局唯一的。当表的记录行要求唯一时,GUID是非常有用
·Text 用来存储大量的非统一编码型字符数据。这种数据类型最多可以有231-1或20亿个字符
·Image 二进制数据 存储的数据是以位字符串存储的,不是由 SQL Server 解释的,必须由应用程序来解释。例如,应用程序可以使用BMP、TIEF、GIF 和 JPEG 格式把数据存储在 Image 数据类型中。
·Ntext Unicode 数据类型 该列可以存储多于 4000 个字符
用户定义的数据类型
用户定义的数据类型基于在 Microsoft SQL Server 中提供的数据类型。当几个表中必须存储同一种数据类型时,并且为保证这些列有相同的数据类型、长度和可空性时,可以使用用户定义的数据类型。
--建自定义数据类型
--Exec sp_addtype ssn,'Varchar(11)','Not Null'
--删除自定义数据类型
--Exec sp_droptype 'ssn'
--查看用户自定义数据类型
--select * from systypes where xtype<>xusertype;(sql server 2000)
--select * from sys.types where is_user_defined=1