文章目录1. 整数型整数包括bigint、int、smallint和tinyint 4类。 ● bigint(大整数)精度为19位,长度为8字节,数值范围为-263~263-1。 ● int(整数)精度10位,长度为4字节,数值范围为-231~231-1。 ● smallint(短整数)精度为10位,长度为2字节,数值范围为-215~215–1。 ● tinyint(微短整数)精度为3位,长度为1字节,数值范围为0~255。 2. 精确数值型精确数值型包括decimal 和 numeric两类,这两种数据类 numeric | decimal(p[,s])其中p为精度,s为小数位数,s的缺省值为0。 3. 浮点型浮点型又称近似数值型,近似数值数据类型包括float[(n)]和real两类,这两类通常都使用科学记数法表示数据。科学记数法的格式为: 尾数E阶数 ● real精度为7位,长度为4字节,数值范围为-3.40E + 38~3.40E + 38。 ● float[(n)]当n在1~24之间时,精度为7位,长度为4字节,数值范围为-3.40E + 38~3.40E + 38。 4. 货币型处理货币的数据类型有money和smallmoney,它们用十进制数表示货币值。 ●money精度为19,小数位数为4、长度为8字节,数值范围为-263~263-1。 ● smallmoney精度为10,小数位数为4、长度为4字节,数值范围–231 ~ 231 – 1。 5. 位型SQL Server中的位(bit)型数据只存储0和1,长度为一个字节,相当于其它语言中的逻辑型数据。当一个表中有小于8位的bit列,将作为一个字节存储,如果表中有9到16位bit列,将作为两个字节存储,依此类推。 6. 字符型字符型数据用于存储字符串,字符串中可包括字母数字和其它特殊符号。在输入字符串时,需将串中的符号用单引号或双引号括起来,如’def’、“Def<Ghi”。 ●char[(n)]固定长度字符数据类型,其中n定义字符型数据的长度,n在1~8000之间,默认值为1。若输入字符串长度小于n时,则系统自动在它的后面添加空格以达到长度n。例如某列的数据类型为char(100),而输入的字符串为"NewYear2013",则存储的是字符NewYear2013和89个空格。若输入字符串长度大于n,则截断超出的部分。当列值的字符数基本相同时可采用数据类型char[(n)]。 ●varchar[(n)]可变长度字符数据类型,其中n的规定与定长字符数据类型char[(n)]中n完全相同,与char[(n)]不同的是 varchar(n) 数据类型的存储空间随列值的字符数而变化。例如,表中某列的数据类型为varchar(100),而输入的字符串为" NewYear2013",则存储的字符NewYear2013的长度为11字节,其后不添加空格,因而varchar(n) 数据类型可以节省存储空间,特别在列值的字符数显著不同时。 7. Unicode字符型Unicode是“统一字符编码标准”,用于支持国际上非英语语种的字符数据的存储和处理。Unicode字符型包括nchar[(n)]和nvarchar[(n)]两类。nchar[(n)]、nvarchar[(n)]和char[(n)]、varchar(n)类似,只是前者使用Unicode字符集,后者使用ASCII字符集。 ● nchar[(n)]固定长度Unicode数据的数据类型,n的取值为1~4000,长度为2n字节,若输入的字符串长度不足n,将以空白字符补足。 ● nvarchar[(n)]可变长度Unicode数据的数据类型,n的取值为1~4000,长度是所输入字符个数的两倍。 8. 文本型由于字符型数据的最大长度为8000个字符,当存储超出上述长度的字符数据(如较长的备注、日志等),即不能满足应用需求,此时需要文本型数据。文本型包括text和ntext两类,分别对应ASCII字符和Unicode字符。 ● text最大长度为231-1(2,147,483,647)个字符,存储字节数与实际字符个数相同。 ● ntext最大长度为230-1(1,073,741,823)个Unicode字符,存储字节数是实际字符个数的2倍。 9. 二进制型二进制数据类型表示的是位数据流,包括binary(固定长 ● binary[(n)]固定长度的n个字节二进制数据,n的取值范围为1~8000, ●varbinary[(n)]n个字节变长二进制数据,n取值范围为1~8000,默认值为1。varbinary(n)数据的存储长度为:实际输入数据长度+4个字节。 10. 日期时间类型● datetimedatetime类型可表示的日期范围从1753年1月1日到9999年12月31日的日期和时间数据,精确度为百分之三秒(3.33毫秒或0.00333 秒)。datetime类型数据长度为8字节,日期和时间分别使用4个字节存储。前4字节用于存储基于1900年1月1日之前或之后的天数,正数表示日期在1900年1月1日之后,负数则表示日期在1900年1月1日之前。后4个字节用于存储距12:00(24小时制)的毫秒数。默认的日期时间是January 1, 1900 12:00 A.M。可以接受的输入格式有:January 10 2012、Jan 10 2012、JAN 10 2012、January 10, 2012等。 ●smalldatetimeSmalldatetime与datetime数据类型类似,但日期时间范围 ●datedate类型可表示从公元元年1月1日到9999年12月31日期,表示形式与datetime数据类型的日期部分相同,只存储日期数据,不存储时间数据,存储长度为3个字节。 ●timetime数据类型只存储时间数据,表示格式为“hh:mm:ss[.nnnnnnn]”。hh表示小时,范围为0到23。mm表示分钟,范围为0到59。ss表示秒数,范围为0到59。n是0 到7位数字,范围为0到9999999,表示秒的小数部分,即微秒数。所以time数据类型的取值范围为00:00:00.0000000到23:59:59.9999999。time类型的存储大小为5个字节。另外可以自定义time类型微秒数的位数,例如time(1)表示小数位为1,默认为7。 ●datetime2新的datetime2数据类型和datetime类型一样,也用于存储日期和时间信息。但是datetime2类型取值范围更广,日期部分取值范围从公元元年1月1日到9999年12月31日,时间部分的取值范围从00:00:00.0000000到23:59:59.999999。另外,用户还可以自定义datetime2数据类型中微秒数的位数,例如datetime(2)表示小数位数为2。 ● datetimeoffsetdatetimeoffset数据类型也用于存储日期和时间信息,取值范围与datetime2类型相同。但datetimeoffset类型具有时区偏移量,此偏移量指定时间相对于协调世界时(UTC)偏移的小时和分钟数。datetimeoffset的格式为“YYYY-MM-DD hh:mm:ss[.nnnnnnn] [{+|-}hh:mm]”,其中hh为时区偏移量中的小时数,范围为00到14,mm为时区偏移量中的额外分钟数,范围为00到59。 11. 时间戳型反映系统对该记录修改的相对(相对于其他记录)顺序,标识符是timestamp,timestamp类型数据的值是二进制格式数据,其长度为8字节。若创建表时定义一个列的数据类型为时间戳类型,那么每当对该表加入新行或修改已有行时,都由系统自动将一个计数器值加到该列,即将原来的时间戳值加上一个增量。 12. 图像数据类型用于存储图片、照片等,标识符为image,实际存储的是可变长度二进制数据,介于 0 与 231-1 (2,147,483,647) 字节之间。 13. 其它数据类型● cursor游标数据类型,用于创建游标变量或定义存储过程的输出参数 ● sql_variant一种存储SQL Server支持的各种数据类型(除text、ntext、image、timestamp 和 sql_variant 外)值的数据类型。 ● table用于存储结果集的数据类型,结果集可以供后续处理。 ● uniqueidentifier唯一标识符类型,系统将为这种类型的数据产生唯一标识值。 ● xml用来在数据库中保存xml文档和片段的一种类型,文件大小不能超过2GB。 ● hierarchyidhierarchyid数据类型是SQL Server新增加的一种长度可变的系统数据类型,可使用 hierarchyid表示层次结构中置。 |
|