Sql Server 自定义数据类型

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

  

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。