sql基本数据类型

整数数据类型:

①tinyint --存储范围从0到255(2^8-1),每个tinyint占用1个字节空间

②smallint --存储范围从-2的15次方(-32768)到2的15次方减一(32767),每个smallint占用2个字节空间

int --存储范围从-2的31次方到2的31次方减一,每个int占用4个字节空间

④bigint --存储空间从-2的63次方到2的63次方减一,每个bigint占用8个字节空间

 

浮点型数据类型:

①real --real数据类型可精确到第7位小数,其范围为-3.40E-38到3.40E+38,每个real类型占用4个字节的储存空间

 

②float --精确到15位小数,范围为-1.79E-308到1.79E+308,占用8个字节的储存空间。float数据类型可写为float[N]的形式

N制定float数据的精度,N为1到15的整数值。当N取值为1到7时,实际上是定义了一个real的数据,系统用4个字节来储存它。当

N取值为8到15时,系统认为其实float数据类型,用8个字节来储存它

 

numeric --numeric数据类型可以提供小数所需要的实际存储空间,但也有一个限定。我们可以用2到17个字节来储存从-10的38

次方-1到10的38次方-1之间的数据,可以将其写为numeric(p,[s])的形式,p和s确定了精度的比列和数位,其中p表示可供储存的值

的总位数(不包括小数点),缺省值为18;s表示小数点后的位数,缺省值为0,如:numeric(15,5),表示共有15位数,其中整数10位,

小数5位。

 

字符串数据类型:

①char --char是定长字符数据,其长度最多为8KB。如果将一个列的数据类型定义为char,那么我们就可以使用
char(x)指定该列所能存储的字符的数目,其中x是字符数目。
 
②varchar --varchar是变长字符数据,起长度不超过8KB。varchar(x)
 
③text --超过8KB的ASCⅡ数据可以用text数据类型存储。如:HTML文档全部都是ASCⅡ字符,并且在一般情况下长度超过8KB,所以
这些文档可以用text数据类型存储在SQL server中。
 

④Unicode数据类型nchar、nvarchar和ntext --在Microsoft SQL server中,传统的非Unicode数据类型允许使用由特定字符集定义的字符。

在Unicode标准中,包括了以各种字符集定义的全部字符。使用Unicode数据类型,所占空间是使用非Unicode数据类型所占空间的两倍。

SQL Server中,Unicode数据以nchar、nvarchar和ntext数据类型存储。使用这种字符类型存储的列可以存储多个字符集中的字符。当列的

长度变化时,应该使用nvarchar字符类型,这时最多可以存储4000个字符。当列的长度固定不时,应该使用nchar字符类型,同样,这时最多

可以存储4000个字符。当使用ntext数据类型时,该列可以存储多于4000字符。

***字符串类型的选用***

如果含有中文字符,用nchar/nvarchar,如果纯英文和数字,用char/varchar

定长不带var前缀,不定长则带var前缀

 

 

二进制数据类型:

①binary --binary数据类型用于存储二进制数据。其定义形式为binary(n),n表示为数据的长度,取值为1到8000。

在使用时必须指定binary类型数据的大小,至少应为1字节。binary数据类型占用n+4字节的存储空间。在输入数据时

必须在数据前加上字符“0x”作为二进制标识,如:要输入“abc”则应输入“0xabc”。若输入的数据过长将会截掉其超出

部分。若输入的数据位数为奇数,则会在起始符号“0x”后面添加一个0,如上述的“0xabc”会被系统自动变为“0x0abc”。

 

②varbinary --varbinary数据类型的定义为varbinary(n)。他与binary类型相似,n的取值也为1到8000,若输入的数

据过长,将会截掉其他超出部分。不同的是varbinary数据类型具有变动长度的特性,因为varbinary数据类型的存储长度

为实际数值长度+4个字节。当binary数据类型允许NULL值时,将被视为varbinary数据类型。

 

 

逻辑数据类型:

bit --bit数据类型存储逻辑真与假数据,占用1个字节的存储空间,其值为0或1,若输入0与1外的数,将被视为1。bit类型

不能定义为NULL值(所谓NULL值是指空值或无意义的值)。

 

图形数据类型:

SQL Server中的image数据类型用于存储大量的二进制数据,其理论容量为2的31次方-1(2,147,483,647)个字节。

通常来存储图形等OLE(Object Linking adn Embedding,对象连接和嵌入)对象。在输入数据时同binary数据类型一样,

必须在数据前面加上字符"0x"作为二进制标识。在Image数据类型中存储的数据是以位字串符存储的,不是由SQL Server解释的,

必须由应用程序来解释。如:应用程序可以使用BMP、TIEF、GIF、和JPEG格式把数据存储在Image数据类型中。

 

日期和时间数据类型:

datetime --用于存储日期和时间的结合体 范围1753-1-1是9999-12-31
 
smalldatetime --与datetime数据类型相似,但其日期范围较小,只能表示1900-1-1到2079-6-6
 
(常用数据类型用粗体表示)

 

posted on 2016-07-16 12:19  woaiwwc  阅读(464)  评论(0)    收藏  举报