SQL2005数据类型 一、 整数数据类型 1、INT 或者 INTEGER INT 类型的数据按4 个字节存储,存储范围:2^-31 ~ 2^31 2、SMALLINT SMALLINT 类型占用2 个字节, 存储范围:2^-15 ~ 2^15 3、TINYINT TINYINT数据类型存储从0 到255 之间的所有正整数。每个TINYINT类型的数据占用1 个字节的存储空间。 4、BIGINT BIGINT 类型的数据按8个字节存储,存储范围:2^-63 ~ 2^63 二、 浮点数据类型 1、REAL 数据类型 精确度:到第7 位小数,其范围为从-3.40E -38 到3.40E +38。占用4 个字节的存储空间。 2、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 个字节存储它。 3、DECIMAL 用2 到17 个字节来存储从-10的38次方-1 到10的38次方-1 之间的数值。可将其写为DECIMAL[ p [s] ]的形式,p 和s 确定了精确的比例和数位。其中p 表示可供存储的值的总位数(不包括小数点),缺省值为18; s 表示小数点后的位数,缺省值为0。 例如:decimal (15 5),表示共有15 位数,其中整数10 位,小数5。 4、NUMERIC NUMERIC 数据类型与 DECIMAL数据类型完全相同。 三、二进制数据类型 1、BINARY 用于存储二进制数据。其定义形式为BINARY( n), n 表示数据的长度,取值为1 到8000 。在使用时必须指定BINARY 类型数据的大小,至少应为1 个字节。BINARY 类型数据占用n+4 个字节的存储空间。在输入数据时必须在数据前加上字符“0X” 作为二进制标识,如:要输入“abc ”则应输入“0xabc ”。若输入的数据过长将会截掉其超出部分。若输入的数据位数为奇数,则会在起始符号“0X ”后添加一个0,如上述的“0xabc ”会被系统自动变为“0x0abc”。 2、VARBINARY 定义形式:VARBINARY(n)。 它与BINARY 类型相似,n 的取值也为1 到8000,若输入的数据过长,将会截掉其超出部分。不同的是VARBINARY数据类型具有变动长度的特性,因为VARBINARY数据类型的存储长度 为实际数值长度+4个字节。当BINARY数据类型允许NULL 值时,将被视为VARBINARY数据类型。 一般情况下,由于BINARY 数据类型长度固定,因此它比VARBINARY 类型的处理速度快。 四、 逻辑数据类型 BIT BIT数据类型占用1 个字节的存储空间,其值为0 或1 。如果输入0 或1 以外的值,将被视为1。 BIT 类型不能定义为NULL 值 五、字符数据类型 一般情况下,使用字符类型数据时须在其前后加上单引号'' 。 1 CHAR 以CHAR 类型存储的每个字符和符号占一个字节的存储空间。 2、NCHAR 定义形式为:NCHAR[ (n)]。 它与CHAR 类型相似。不同的是NCHAR数据类型n 的取值为1 到4000。 因为NCHAR 类型采用UNICODE 标准字符集(CharacterSet)。 UNICODE 标准规定每个字符占用两个字节的存储空间 3、VARCHAR 定义形式:VARCHAR(n)。 它与CHAR 类型相似.不同的是,VARCHAR数据类型具有变动长度的特性,因为VARCHAR数据类型的存储长度为实际 数值长度,若输入数据的字符数小于n ,则系统不会在其后添加空格来填满设定好的空间。 一般情况下,由于CHAR 数据类型长度固定,因此它比VARCHAR 类型的处理速度快。 4、NVARCHAR 定义形式:NVARCHAR[ (n) ]。 它与VARCHAR 类型相似。不同的是,NVARCHAR数据类型采用UNICODE 标准字符集 六、文本和图形数据类型 1、TEXT TEXT数据类型用于存储大量文本数据 2 NTEXT NTEXT数据类型与TEXT.类型相似不同的,是NTEXT 类型采用UNICODE 标准字符集 3 IMAGE 用于存储大量的二进制数据Binary Data。其存储数据的模式与TEXT 数据类型相同。通常用来存储图形等OLE Object Linking and Embedding,对象连接和嵌入)对象。在输入数据时同BINARY数据类型一样,必须在数据前加上字符“0X”作为二进制标识 七、 日期和时间数据类型 1 DATETIME 用于存储日期和时间。它可以存储从公元1753 年1 月1 日零时起到公元9999 年12 月31 日23 时59 分59 秒之间的所有日期和时间,其精确度可达三百分之一秒,即3.33 毫秒。占用的存储空间为8 个字节。其中前4 个字节用于存储1900 年1 月1 日以前或以后的天数,数值分正负,正数表示在此日期之后的日期,负数表示在此日期之前的日期。后4 个字节用于存储从此日零时起所指定的时间经过的毫秒数。如果在输入数据时省略了时间部分,则系统将12:00:00:000AM作为时间缺省值:如果省略 了日期部分,则系统将1900 年1 月1 日作为日期缺省值。 2 SMALLDATETIME SMALLDATETIME 数据类型与DATETIME 数据类型相似,但其日期时间范围较小,为从1900 年1 月1 日到2079 年6 月6:日精度较低,只能精确到分钟,其分钟个位上为根据秒数四舍五入的值.使用4 个字节存储数据。其中前2 个字节存储从基础日期1900 年1 月1 日以来的天数,后两个字节存储此日零时起所指定的时间经过的分钟数。 八、货币数据类型 用于存储货币值。在使用货币数据类型时,应在数据前加上货币符号,系统才能辨识其为哪国的货币,如果不加货币符号,则默认为“¥”。 1 MONEY MONEY 数据类型的数据是一个有4 位小数的DECIMAL 值,其取值从-2的63次方8到2的63次方-1,数据精度为万分之一货币单位。MONEY 数据类型使用8个字节存储。 2 SMALLMONEY 类似于MONEY 类型,但其存储的货币值范围比MONEY数据类型小,其取值从-214,748.3648到+214,748.3647,存储空间为4 个字节。